多线程,多进程,协程
進(jìn)程:
? ? ? ? 進(jìn)程是系統(tǒng)進(jìn)行資源分配的最小單位,每個(gè)進(jìn)程都有自己獨(dú)立的內(nèi)存空間。進(jìn)程占據(jù)獨(dú)立你空間,比較重量級(jí),所以上下文進(jìn)程間的切換比較消耗資源,但是穩(wěn)定安全。
線程:
? ? ? ? ?線程是進(jìn)程的一個(gè)實(shí)體,是CPU進(jìn)行調(diào)度的最小單位,他是比進(jìn)程更小能獨(dú)立運(yùn)行的單位,線程基本不擁有系統(tǒng)資源,只占用一點(diǎn)運(yùn)行中的資源如程序計(jì)數(shù)器,一組寄存器和棧。但是他可以與同屬于一個(gè)進(jìn)程的其他線程共享全部的數(shù)據(jù),提高程序的運(yùn)行速率,上下文切換快,開(kāi)銷比較小。但是不夠穩(wěn)定,容易丟失數(shù)據(jù),形成死鎖。
協(xié)程:
? ? ? ? ?是更小的執(zhí)行單位,是一種輕量級(jí)的線程,協(xié)程的切換只是單純的操作CPU的上下文,所以切換速度特別快,且消耗性能小。協(xié)程和操作系統(tǒng)沒(méi)有關(guān)系,是程序員自己實(shí)現(xiàn)的,上下文的切換都是在一跳主線上,相當(dāng)于兩個(gè)函數(shù)互相切換,速率非常快,而且耗能特別小。
轉(zhuǎn)載于:https://www.cnblogs.com/zhangshuyang/p/8064818.html
總結(jié)
以上是生活随笔為你收集整理的多线程,多进程,协程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 4.1 使用STM32控制MC20拨打电
- 下一篇: 可伸缩的菜单