this post was submitted on 23 Apr 2024
686 points (95.1% liked)

Programmer Humor

31251 readers
1545 users here now

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

Rules:

founded 4 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 121 points 2 months ago (3 children)

In case you are serious: It's probably not.
When you're not careful with parallel processing / multithreading, you can run into something called a "race condition", where results of parallel computations end up in the wrong order because some were finished faster than others.
The joke here is that whoever "programmed" this commic is bad at parallel progmming and got the bubbles in the wrong order because of that.
The image makes perfect sense if you read it in the order 3, 1, 2.

[–] [email protected] 20 points 2 months ago* (last edited 2 months ago) (3 children)

Apart from the fact that bubble 1 and 2 point to the wrong person.

[–] [email protected] 29 points 2 months ago (1 children)

I think that’s part of the joke too. Like the whole comic has been written out of order due to race conditions; rather than just the father represents race conditions.

It’s one degree of humour too far though, if that’s the case, doesn’t really land.

[–] [email protected] 17 points 2 months ago

It definitely landed for me. The aspect of one thread coming out of a totally different routine for no reason was extra funny.

[–] [email protected] 5 points 2 months ago

Yes, if you reorder only the text and not the whole bubble it's also correct. =)

[–] [email protected] 3 points 2 months ago

Oooh. Thanks for that, makes more sense now.

[–] [email protected] 10 points 2 months ago

The image makes perfect sense if you read it in the order 3, 1, 2.

OH!

I was assuming the joke was that 1 and 3 got swapped around. Because it doesn't really make sense for 2 to be mixed up, considering it's from a different person entirely...

Which meant that the joke just made no sense, because swapping 1 and 3 is just as nonsense as the original order.

[–] [email protected] 9 points 2 months ago (2 children)

🤦🏽‍♀️ Thanks for explaining, my brain must have corrected the race condition.

Regarding threads: I have had good experience with using thread safe queues everywhere to exchange data between threads, it's the right tool in many cases, but I doubt queues to be useful when coding for performance.

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

lol your operating system is using queues and buffers with multiple threads everywhere.

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

My point is you don’t need to doubt the usefulness of queues for performance.

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

Umm, queueing is standard practice particularly when a task is performance intensive and needs limited resources.

Basically any programming language using any kind of asynchronous runtime is using queues in their scheduler, as well.

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

Could be I was not clear when I wrote performance, I am talking about High Performance Computing, where you want to spend all CPU cycles on solving your problem. While taking Amdal's Law into account. https://en.wikipedia.org/wiki/Amdahl%27s_law

[–] [email protected] 3 points 2 months ago

Ah gotcha, fair enough. Definitely depends on the workload. If you have compute you want to dedicate to solely to a single task, have at it.