线程和进程的比较
1.进程是资源分配的基本单位。
2.线程是独立调度的基本单位。
3.在同一个进程中,线程的切换不会引起进程的切换。在不同的进程中进行线程切换,如从一个进程中的线程切换到另一个进程中的线程会引起进程的切换。
4.一个进程至少包含一个线程,线程共享整个进程的资源
5.进程结束后它所拥有的所有线程都将被销毁,但是线程结束并不响应其他线程
6.线程运行时一般都需要同步和互斥,因为他们共享进程的所有资源
7.线程有自己的私有TCB,线程id,进程也有自己的PCB,进程id
8.在开销方面:每个进程都有独立的数据空间,进程之间的切换会有较大的开销,线程是共享数据空间的,线程之间的切换开销会小很多。创建一个进程需要给他申请内存空间,创建线程则不需要,相比之下创建进程比创建线程的开销大很多。
线程可分为用户级线程和内核级线程