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

Programmer Humor

32069 readers
443 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 11 months 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 11 months 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 11 months 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 11 months ago* (last edited 11 months 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 11 months ago

Ah thx for the info