I've launched several threads and they do not seem to be executed:
The thread that launched the several threads may be dead before its children.
Two threads can lock the same mutex, however none of them unlocks it:
Same problem as above. Maybe the first thread that locked the shared mutex died before the second tried to lock it: thus, the first one automatically unlocked it when it died. You should put a join_all or an infinite loop in the parent thread.
I've added the option multithreaded in the project settings and it crashes:
If you have already compiled your system in non-MT mode, you cannot change the mode of compilation and simply relaunch your compilation (the generated C-code would be incompatible). Delete all your object files in your W_code or F_code directory and freeze or finalize the system again.
My once function changed during my MT-Eiffel-program:
The once functions are once per thread in Multithreaded mode. Hence, each once function is thread-specific and is initialized the first time it is called in a thread.
You can create a once per process by following these instructions .