this post was submitted on 14 Oct 2023
849 points (98.7% liked)

Programmer Humor

32464 readers
737 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 

Programmers can answer all existential questions with ease

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 20 points 1 year ago (2 children)

If you fork a process, then it's the two separate processes but sharing the same memory with copy-on-write mapping.

[–] [email protected] 8 points 1 year ago (1 children)

Is that actually more efficient if I need my child process to do something different with different data?

[–] [email protected] 8 points 1 year ago (2 children)

It's more efficient for memory until you start working with different data. Threads also rely on the same syscall on Linux, clone(2), but they don't share the entire context by default, so they're more lightweight. It is recommended to use pthreads(3) API instead of fork(2).

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago)

Also, if you care about Windows, threads are far lighter than processes on that platform. Starting a new process is relatively slow compared to other platforms.

[–] [email protected] 2 points 1 year ago

Ah thx for the info