线程有时也称为轻量级进程,他是比进程更小的活动单位,它是进程中的一个执行路径。一个进程可以有多个执行路径即线程。
线程和进程的主要区别:
1、 线程是进程的一个组成部分,一个进程可以有多个线程,而且至少可以有一个可以执行的线程。
2、 进程是资源分配的基本单位,他拥有自己的地址空间和各种资源。线程是处理机调度的基本单位,他只能和其他线程共享进程的资源,而本身并不具有任何资源。
3、 进程的多个线程都在进程的地址空间活动。
4、 线程和进程一样,都拥有自己的状态和相应的同步机制。但是,由于线程没有自己单独的程序和数据空间,因而不能像进程的程序和数据那样交换到外村去。
5、 因为同一进程内的线程共享内存和文件。因此它们之间相互通信无需调用内核。
6、 进程的调度和控制大多数由操作系统内核完成,而线程的控制既可以由操作系统内核完成,也可以由用户控制完成。