分乐多系统开发「冯生」【191﹎5743﹍0738】〔微或电〕广州专业分乐多系统开发app,分乐多系统APP开发,分乐多系统模式开发,分乐多系统软件开发,分乐多系统源码开发,分乐多系统游戏系统开发,分乐多模式APP系统开发,,分乐多模式app开发定制,分乐多APP软件系统开发费用,分乐多软件模式案例,分乐多系统源码定制开发,分乐多模式APP系统平台搭建,广州专业分乐多系统开发app。
温馨提示:------温馨提示:专业开发公司,非平台方,玩家勿扰------
进程
不共享任何状态
调度由操作系统完成
有独立的内存空间(上下文切换的时候需要保存栈、cpu寄存器、虚拟内存、以及打开的相关句柄等信息,开销大)
通讯主要通过信号传递的方式来实现(实现方式有多种,信号量、管道、事件等,通讯都需要过内核,效率低)
线程
共享变量(解决了通讯麻烦的问题,但是对于变量的访问需要加锁)
调度由操作系统完成
一个进程可以有多个线程,每个线程会共享父进程的资源(创建线程开销占用比进程小很多,可创建的数量也会很多)
通讯除了可使用进程间通讯的方式,还可以通过共享内存的方式进行通信(通过共享内存通信比通过内核要快很多)
线程的使用会给系统带来上下文切换的额外负担。
协程
调度完全由用户控制
一个线程(进程)可以有多个协程
每个线程(进程)循环按照指定的任务清单顺序完成不同的任务(当任务被堵塞时,执行下一个任务;当恢复时,再回来执行这个任务;任务间切换只需要保存任务的上下文,没有内核的开销,可以不加锁的访问全局变量)
协程需要保证是非堵塞的且没有相互依赖
协程基本上不能同步通讯,多采用异步的消息通讯,效率比较高
————————————————
版权声明:本文为CSDN博主「十步杀一人_千里不留行」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_37609579/article/details/102765889