个人独立博客:www.limiao.tech
微信公众号:TechBoard
功能对比:
进程:能够完成多任务,比如在一台电脑上能够同时运行多个QQ
线程:能够完成多任务,比如一个QQ中的多个聊天窗口
定义对比
进程是系统进行资源分配的基本单位,每启动一个进程操作系统都需要为其分配运行资源
线程是运行程序中的一个执行分支,是CPU调度基本单位。
总结:进程是操作系统资源分配的基本单位,线程是CPU调度的基本单位
关系对比
线程是依附在进程里面的,没有进程就没有线程
一个进程默认提供一条线程,进程可以创建多个线程
区别
进程之间不共享全局变量
线程之间共享全局变量,但是要注意资源竞争的问题,解决办法:互斥锁或者线程同步
创建进程的资源开销要比创建线程的资源开销要大
进程是操作系统资源分配的基本单位,线程是CPU调度的基本单位
线程不能独立执行,必须依存在进程中
多进程开发比单进程多线程开发稳定性要强
优缺点
多进程:
优点:可以用多核
缺点: 资源开销大
多线程:
优点:资源开销小
缺点:不能使用多核
扩充:同步和异步
同步:发送方发出数据后,等待接收方发回响应后才发下一个数据包的通讯方式
异步:发送方发出数据后,不等待接收方发回响应,接着发送下一个数据包的通讯方式。
个人独立博客:www.limiao.tech
微信公众号:TechBoard