-
Notifications
You must be signed in to change notification settings - Fork 28
Open
Labels
Description
The code starts new threads whenever it feels like it, which makes it very hard to reason about it. For example if you click on a button in the GUI the code would start a new thread to handle it, even if the action is just to set a new value to a variable.
It should use two main threads: one for the lower level emulator and one for the GUI. (If there is a GUI at all. It could run in non-interactive mode.)
It may be good to write the lower level emulators to run on multiple threads, so they can make a better use of the real CPU cores. But I think this is secondary to making work correctly and being easy to maintain.