合作型多任务(cooperative multitasking)允许执行多个任务,但分享CPU是程序(而非操作系统)的责任。如果有一个程序决定咬住CPU不放,其它程序就停摆了。
抢先式多任务(preemptive multitasking)操作系统能够强迫应用程序把CPU分享给其他人,程序员不需要什么额外的努力。虽然这个减少了程序员的工作,也不会因为某个程序拒绝分享CPU而造成其他程序hang住,但是它使得各个线程之间的执行顺序不可预测,从而导致了race condition等一系列问题。
合作型多任务(cooperative multitasking)允许执行多个任务,但分享CPU是程序(而非操作系统)的责任。如果有一个程序决定咬住CPU不放,其它程序就停摆了。
抢先式多任务(preemptive multitasking)操作系统能够强迫应用程序把CPU分享给其他人,程序员不需要什么额外的努力。虽然这个减少了程序员的工作,也不会因为某个程序拒绝分享CPU而造成其他程序hang住,但是它使得各个线程之间的执行顺序不可预测,从而导致了race condition等一系列问题。