线程是最小的执行单元,而进程由至少一个线程组成。如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间。
多进程和多线程的程序涉及到同步、数据共享的问题,编写起来更复杂。
多任务实现有3种方式:
-
多进程模式,即启动多个进程,每个进程有一个线程,但是多个进程可以一块执行多个任务
-
多线程模式,启动一个进程,在一个进程内启动多个线程,这样,多个线程也可以一块执行多个任务
-
多进程+多线程模式,当然还有第三种方法,就是启动多个进程,每个进程再启动多个线程,这样同时执行的任务就更多了,当然这种模型更复杂,实际很少采用。