Indeed windows 3.1 provide cooperative multi-tasking instead of our modern preemptive multitasking.
Cooperative : it is up to the current thread/process to give up its CPU usage, meaning that if a thread is stalled the whole system is considered crashed (except for interrupt, which allowed for windows to recover via magic keys ).
Preemptive : The system govern the use of the CPU and arbitrary take CPU usage from the thread/process.