個(gè)人獨(dú)立博客:www.limiao.tech
微信公眾號(hào):TechBoard
功能對比:
進(jìn)程:能夠完成多任務(wù)黎做,比如在一臺(tái)電腦上能夠同時(shí)運(yùn)行多個(gè)QQ
線程:能夠完成多任務(wù),比如一個(gè)QQ中的多個(gè)聊天窗口
定義對比
進(jìn)程是系統(tǒng)進(jìn)行資源分配的基本單位靖避,每啟動(dòng)一個(gè)進(jìn)程操作系統(tǒng)都需要為其分配運(yùn)行資源
線程是運(yùn)行程序中的一個(gè)執(zhí)行分支潭枣,是CPU調(diào)度基本單位。
總結(jié):進(jìn)程是操作系統(tǒng)資源分配的基本單位幻捏,線程是CPU調(diào)度的基本單位
關(guān)系對比
線程是依附在進(jìn)程里面的盆犁,沒有進(jìn)程就沒有線程
一個(gè)進(jìn)程默認(rèn)提供一條線程,進(jìn)程可以創(chuàng)建多個(gè)線程
區(qū)別
進(jìn)程之間不共享全局變量
線程之間共享全局變量篡九,但是要注意資源競爭的問題蚣抗,解決辦法:互斥鎖或者線程同步
創(chuàng)建進(jìn)程的資源開銷要比創(chuàng)建線程的資源開銷要大
進(jìn)程是操作系統(tǒng)資源分配的基本單位,線程是CPU調(diào)度的基本單位
線程不能獨(dú)立執(zhí)行瓮下,必須依存在進(jìn)程中
多進(jìn)程開發(fā)比單進(jìn)程多線程開發(fā)穩(wěn)定性要強(qiáng)
優(yōu)缺點(diǎn)
多進(jìn)程:
優(yōu)點(diǎn):可以用多核
缺點(diǎn): 資源開銷大
多線程:
優(yōu)點(diǎn):資源開銷小
缺點(diǎn):不能使用多核
擴(kuò)充:同步和異步
同步:發(fā)送方發(fā)出數(shù)據(jù)后,等待接收方發(fā)回響應(yīng)后才發(fā)下一個(gè)數(shù)據(jù)包的通訊方式
異步:發(fā)送方發(fā)出數(shù)據(jù)后钝域,不等待接收方發(fā)回響應(yīng)讽坏,接著發(fā)送下一個(gè)數(shù)據(jù)包的通訊方式。
個(gè)人獨(dú)立博客:www.limiao.tech
微信公眾號(hào):TechBoard