• 进程拥有资源,线程没有资源,线程可以访问属于进程的资源
    • 线程是独立调度的基本单位,在同一进程当中线程切换不会引起进程切换,从一个进程内的线程切换到另一个进程中的线程时,会引起进程切换
    • 创建或者注销进程,系统都要分配回收资源,所付出的开销远大于创建或撤销线程时的开销
    • 在进行进程切换时,涉及当前执行进程 CPU 环境的保存及新调度进程 CPU 环境的设置,而线程切换时只需保存和设置少量寄存器内容,开销很小
    • 资源包括内存空间、I/O 设备等
    • 进程间通信 (IPC) 需要进程同步和互斥手段的辅助,以保证数据的一致性。而线程间可以通过直接读/写同一进程中的数据段(如全局变量)来进行通信。
    • 一个进程中可以有多个线程,它们共享进程资源。
    • QQ 和浏览器是两个进程,浏览器进程里面有很多线程,例如 HTTP 请求线程、事件响应线程、渲染线程等等,线程的并发执行使得在浏览器中点击一个新链接从而发起 HTTP 请求时,浏览器还可以响应用户的其它事件。