[quote="Ashley":2vicbnt8][quote="Genesys":2vicbnt8]also you can check 4 events at a time instead of just 1.. Something like a block of events[/quote:2vicbnt8]
It's nowhere near that simple - multithreaded programming is a pretty complex area. If one of the events in any way depends on a result from a previous event, or in any way writes to or reads from any part of the computer's memory that is also accessed by one of the other events being executed, it will not work (due to out of order execution). Since events are defined as always being run from top to bottom, it's pretty difficult to thread that, since I reckon almost all events will depend on the events before them being completed.[/quote:2vicbnt8]
I was actually thinking about this a while ago, and thought about something like possibly having separate "core event sheets", so to say, which would be run in parallel and if there are not enough cores for the various "core sheets" the user could define the order in which they are executed.
With separate event sheets the fact that you can't rely on events in the other core sheets would be clear for the end users and I think it would make multi-threaded event running pretty understandable for pretty much anyone too. From what I've understood from multi-core programming, you'd have to wait for all the core sheets to be executed before going through them again, but even if you'll have to wait for the slowest core sheet to be processed it'd still be faster if other parts of the code have been gone through already.
Then the users could just code some independent parts of their code in these "core sheets" - like AI processing in one core sheet, etc. I can't really say how useful it would be in the end, but I think it would have potential.