4 ms·
It's not about the API. The multithreading API (in any language) is easy: 1. Start a thread 2. Give it work to do (data + code) The problems start when multip
by miraculixx 3y ago
It's not about the API. The multithreading API (in any language) is easy:
1. Start a thread
2. Give it work to do (data + code)
The problems start when multiple threads work on the same data and compete for the same system resources.
Agree, it's not a guessing game. But it is a huge state machine with unobvious hidden states. The cure are locks everywhere, and the magic is to find the least number and places of locks to still make it fast and correct, in any and all situations aka race conditions.
It's a much harder problem to reason about than most people realize.