Definitions for "Cooperative Multitasking"
A form of multitasking in which all running applications must work together to share system resources.
Each process must voluntarily return time to a central scheduling route. 32 bit programs, even those written by Microsoft use the preferred Pre-emptive multitasking.
The programmer places calls to the Thread.yield() method in locations in the code where it is appropriate to suspend execution so that other threads can run. This is quite error-prone because it is often difficult to assess the concurrent behavior of a program as it is being written.