manyThreadsAreBetterThanOne
manyThreadsAreBetterThanOne
manyThreadsAreBetterThanOne
Knock knock
Race condition!
Who's there?
I am feeling confused with this meme. I am going to escalate this to my manager, secretly hopong he'll tell me to do something else while he passes this on to the one dude in my team who's worked with multithreading that one time.
This is the first time I enjoy a meme of this format / situation.
You have NO IDEA how hard my autism hates you!
good one! i have to admit I didn't get it until I was browsing the comments and then it hit me 😀
I'm embarrassed to say I only finally got it now. After reading the joke last night. -_-;
This feels like AI
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.
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.
Apart from the fact that bubble 1 and 2 point to the wrong person.
🤦🏽♀️ 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.
Not a lot of programmers on programmerhumor these days are there?
Why comment here at all
Because we're programmers, and programmers are infamous for being rules-/logic-driven.
If, as a comment below suggests, the joke is that it's meant to be read in order 3, 1, 2, that violates the rule that race conditions typically don't cause an entirely different program to produce the output. So if the joke is meant to be "lol we have a race condition", bubbles should be mixed up for one person, not mixed between people.
People don't get the joke because the joke violates its own internal rules.
It doesn't violate any rules.. Imagine both the "speaker" and the "text" are being updated by separate threads. A program that would eventually display the behavior in this meme is simple, and I'm a bit embarrassed to have written it because of this comment:
#include <pthread.h> #include <stdio.h> char* speakers[] = { "Alice", "Bob" }; int speaker = 0; void* change_speaker(void* arg) { (void)arg; for (;;) { speaker = speaker == 0 ? 1 : 0; } } char* texts[] = { "Hi Bob", "Hi Alice, what's up?", "Not much Bob", }; int text = 0; void* change_text(void* arg) { (void)arg; for (;;) { switch (text) { case 0: text = 1; break; case 1: text = 2; break; case 2: text = 0; break; } } } int main(int argc, char* argv[]) { pthread_t speaker_swapper, text_swapper; pthread_create(&text_swapper, NULL, change_text, NULL); pthread_create(&speaker_swapper, NULL, change_speaker, NULL); for (int i = 0; i < 3; ++i) { printf("%s: %s\n", speakers[speaker], texts[text]); } }
I don't get what's supposed to be wrong here, it works on my machine