写点什么

进程、线程、协程

用户头像
无心
关注
发布于: 2021 年 04 月 05 日

进程

操作系统资源分配(CPU 时间片、内存)的最小单位;

进程之间的通信机制: 管道、socket、消息队列、信号量、共享内存;

线程

操作系统 CPU 调度的最小单位

协程

子程序的概念, 不被操作系统内核管理, 完全由用户程序控制, 运行在用户态;

多个协程之间可以互相中断, 完全由程序状态控制;

总结

  1. 进程与线程

线程运行在进程中, 一个进程有多个线程;

线程和进程都可以并行执行;

资源分配给进程, 进程下所有线程共享进程资源;

进程中的线程通信需要通过同步原语, 不同进程的线程通信需要通过消息通信;


  1. 线程与协程

协程相对线程更轻量;

进程中多线程通信需要同步, 而协程通信只需要控制状态即可;

协程由于不需要同步, 不会存在对共享资源加锁对问题,也不会存在线程上下文切换的问题,所以通常效率会比线程高;


用户头像

无心

关注

8年+ java 开发经验 2019.02.13 加入

原来过得很快乐

评论

发布
暂无评论
进程、线程、协程