Since modules will be dll files and will either be spawned as a thread or a process, we could also spawn them as green threads.
This means we should also provide a library to create "threads", which can either be real threads or green threads. We might also want a hint to say if a module/thread will need a lot of CPU time or just a little?
Can multiple instances of the same module be spawned in the same process? Maybe, with automated testing to validate compatibility with green threads.
Maybe core parts of the engine should be forced to get their own processes? Could normal modules request this for themselves?
Since modules will be dll files and will either be spawned as a thread or a process, we could also spawn them as green threads.
This means we should also provide a library to create "threads", which can either be real threads or green threads. We might also want a hint to say if a module/thread will need a lot of CPU time or just a little?
Can multiple instances of the same module be spawned in the same process? Maybe, with automated testing to validate compatibility with green threads.
Maybe core parts of the engine should be forced to get their own processes? Could normal modules request this for themselves?