对于操作系统来说,一个任务就是一个进程(Process);进程内的这些“子任务”称为线程(Thread)。
真正的并行执行多任务只能在多核CPU上实现,但是,由于任务数量远远多于CPU的核心数量,所以,操作系统也会自动把很多任务轮流调度到每个核心上执行。
多线程的执行方式和多进程是一样的,也是由操作系统在多个线程之间快速切换,让每个线程都短暂地交替运行,看起来就像同时执行一样。当然,真正地同时执行多线程需要多核CPU才可能实现。
多进程和多线程的程序涉及到同步、数据共享的问题,编写起来更复杂。