一、关系对比
1、线程是依附在进程中的,没有进程就没有线程。
2、一个进程默认提供一条线程,进程可以创建多个线程。
二、区别对比
1、进程:
不共享全局变量
创建进程的资源开销大
进程是系统资源分配的基本单位
多进程 开发比 单进程的多线程 开发稳定性强。
适用于计算密集型的相关操作
2、线程
共享全局变量,注意资源竞争问题,解决方法:
1、线程同步
2、互斥锁
a、创建线程的资源开销小
b、线程是CPU调度的基本单位
c、线程不能独立执行,必须存于进程中
d、适用于非计算密集型的相关操作,例如:文件写入、文件下载、I/O操作等
三、优缺点对比
1、进程:
优点:可以利用多核
缺点:资源开销大
2、线程:
优点:资源开销小
缺点:不能使用多核