The second part is partly true. Many games are dependent on user input to control flow, and you can't multithread user input. You CAN multithread the effects of user input, though. If you've designed your AI to actually play well rather than just cheating to implement difficulty levels, in a simultaneous turn-based game where you're not supposed to know what actions everybody else took until the next turn, every AI player should be running in its own thread taking their turns at the same time. If you're writing a GUI app in any language, you're probably already using multithreading even if you don't know it; there's an "Event Dispatch Thread" that deals with diplaying the GUI and user input, and then there's the main thread that you're actually doing whatever work you have in.
The first part is not so true. If all schools from primary up did a better job of teaching logic (obviously not possible, because that would deplete various parties' gullible voter pools), and CS/IT schools did a better job of pointing out how various workloads can be separated into steps... Almost anything can be split at least to two threads if only people were taught what to look for.
I read somewhere there is a law on how much a task can be split up for faster processing, is that true?
Last edited: