進(jìn)程的同步與通信,進(jìn)程與線程同步的區(qū)別,進(jìn)程與線程通信的區(qū)別

進(jìn)程同步與互斥的區(qū)別?

進(jìn)程的同步方式有哪些?

進(jìn)程的通信方式有哪些?

進(jìn)程同步與通信的區(qū)別是什么?

線程的同步/通信與進(jìn)程的同步/通信有區(qū)別嗎?

在好多教材上(包括國(guó)內(nèi)與國(guó)外的)也沒(méi)有明確這些概念,現(xiàn)在對(duì)每個(gè)問(wèn)題還沒(méi)有準(zhǔn)確的答案,下面將自己的理解記下來(lái),以后再補(bǔ)充。

參考資料:

《操作系統(tǒng)教程》 孫鐘秀主編 費(fèi)翔林? 駱斌? 謝立參編 高等教育出版社

《計(jì)算機(jī)操作系統(tǒng)》 何炎祥 李飛 李寧 編著 清華大學(xué)出版社(進(jìn)程管理部分與《操作系統(tǒng)教程》中的類似)

進(jìn)程互斥、同步的概念

進(jìn)程互斥、同步的概念是并發(fā)進(jìn)程下存在的概念,有了并發(fā)進(jìn)程,就產(chǎn)生了資源的競(jìng)爭(zhēng)與協(xié)作,從而就要通過(guò)進(jìn)程的互斥、同步、通信來(lái)解決資源的競(jìng)爭(zhēng)與協(xié)作問(wèn)題。

下面是根據(jù)《操作系統(tǒng)教程》3.1.4 中的介紹,整理的進(jìn)程互斥、同步的概念。

在多道程序設(shè)計(jì)系統(tǒng)中,同一時(shí)刻可能有許多進(jìn)程,這些進(jìn)程之間存在兩種基本關(guān)系:競(jìng)爭(zhēng)關(guān)系和協(xié)作關(guān)系。

進(jìn)程的互斥、同步、通信都是基于這兩種基本關(guān)系而存在的,為了解決進(jìn)程間競(jìng)爭(zhēng)關(guān)系(間接制約關(guān)系)而引入進(jìn)程互斥;為了解決進(jìn)程間松散的協(xié)作關(guān)系(直接制約關(guān)系)而引入進(jìn)程同步;為了解決進(jìn)程間緊密的協(xié)作關(guān)系而引入進(jìn)程通信。

第一種是競(jìng)爭(zhēng)關(guān)系?

系統(tǒng)中的多個(gè)進(jìn)程之間彼此無(wú)關(guān),它們并不知道其他進(jìn)程的存在,并且也不受其他進(jìn)程執(zhí)行的影響。例如,批處理系統(tǒng)中建立的多個(gè)用戶進(jìn)程, 分時(shí)系統(tǒng)中建立的多個(gè)終端進(jìn)程。由于這些進(jìn)程共用了一套計(jì)算機(jī)系統(tǒng)資源,因而, 必然要出現(xiàn)多個(gè)進(jìn)程競(jìng)爭(zhēng)資源的問(wèn)題。當(dāng)多個(gè)進(jìn)程競(jìng)爭(zhēng)共享硬設(shè)備、存儲(chǔ)器、處理器 和文件等資源時(shí),操作系統(tǒng)必須協(xié)調(diào)好進(jìn)程對(duì)資源的爭(zhēng)用。

資源競(jìng)爭(zhēng)出現(xiàn)了兩個(gè)控制問(wèn)題:一個(gè)是死鎖 (deadlock )問(wèn)題,一組進(jìn)程如果都獲得了部分資源,還想要得到其他進(jìn)程所占有的資源,最終所有的進(jìn)程將陷入死鎖。另一個(gè)是饑餓(starvation )問(wèn)題,這是指這樣一種情況:一個(gè)進(jìn)程由于其他進(jìn)程總是優(yōu)先于它而被無(wú)限期拖延。

操作系統(tǒng)需要保證諸進(jìn)程能互斥地訪問(wèn)臨界資源,既要解決饑餓問(wèn)題,又要解決死鎖問(wèn)題。?

進(jìn)程的互斥(mutual exclusion )是解決進(jìn)程間競(jìng)爭(zhēng)關(guān)系(間接制約關(guān)系) 的手段。進(jìn)程互斥指若干個(gè)進(jìn)程要使用同一共享資源時(shí),任何時(shí)刻最多允許一個(gè)進(jìn)程去使用,其他要使用該資源的進(jìn)程必須等待,直到占有資源的進(jìn)程釋放該資源。

第二種是協(xié)作關(guān)系???

某些進(jìn)程為完成同一任務(wù)需要分工協(xié)作,由于合作的每一個(gè)進(jìn)程都是獨(dú)立地以不可預(yù)知的速度推進(jìn),這就需要相互協(xié)作的進(jìn)程在某些協(xié)調(diào)點(diǎn)上協(xié) 調(diào)各自的工作。當(dāng)合作進(jìn)程中的一個(gè)到達(dá)協(xié)調(diào)點(diǎn)后,在尚未得到其伙伴進(jìn)程發(fā)來(lái)的消息或信號(hào)之前應(yīng)阻塞自己,直到其他合作進(jìn)程發(fā)來(lái)協(xié)調(diào)信號(hào)或消息后方被喚醒并繼續(xù)執(zhí)行。這種協(xié)作進(jìn)程之間相互等待對(duì)方消息或信號(hào)的協(xié)調(diào)關(guān)系稱為進(jìn)程同步。

進(jìn)程間的協(xié)作可以是雙方不知道對(duì)方名字的間接協(xié)作,例如,通過(guò)共享訪問(wèn)一個(gè)緩沖區(qū)進(jìn)行松散式協(xié)作;也可以是雙方知道對(duì)方名字,直接通過(guò)通信機(jī)制進(jìn)行緊密協(xié)作。允許進(jìn)程協(xié)同工作有利于共享信息、有利于加快計(jì)算速度、有利于實(shí)現(xiàn)模塊化程序設(shè)計(jì)。

進(jìn)程的同步(Synchronization)是解決進(jìn)程間協(xié)作關(guān)系(直接制約關(guān)系) 的手段。進(jìn)程同步指兩個(gè)以上進(jìn)程基于某個(gè)條件來(lái)協(xié)調(diào)它們的活動(dòng)。一個(gè)進(jìn)程的執(zhí)行依賴于另一

個(gè)協(xié)作進(jìn)程的消息或信號(hào),當(dāng)一個(gè)進(jìn)程沒(méi)有得到來(lái)自于另一個(gè)進(jìn)程的消息或信號(hào)時(shí)則需等待,直到消息或信號(hào)到達(dá)才被喚醒。

不難看出,進(jìn)程互斥關(guān)系是一種特殊的進(jìn)程同步關(guān)系,即逐次使用互斥共享資源,也是對(duì)進(jìn)程使用資源次序上的一種協(xié)調(diào)。

進(jìn)程通信的概念

下面是根據(jù)《操作系統(tǒng)教程》3.5 中的介紹,整理的進(jìn)程通信的概念。

并發(fā)進(jìn)程之間的交互必須滿足兩個(gè)基本要求:同步和通信。

進(jìn)程競(jìng)爭(zhēng)資源時(shí)要實(shí)施互斥,互斥是一種特殊的同步,實(shí)質(zhì)上需要解決好進(jìn)程同步問(wèn)題,進(jìn)程同步是一種進(jìn)程通信,通過(guò)修改信號(hào)量,進(jìn)程之間可建立起聯(lián)系,相互協(xié)調(diào)運(yùn)行和協(xié)同工作。但是信號(hào)量與PV操作只能傳遞信號(hào),沒(méi)有傳遞數(shù)據(jù)的能力。有些情況下進(jìn)程之間交換的信息量雖很少,例如,僅僅交換某個(gè)狀態(tài)信息,但很多情況下進(jìn)程之間需要交換大批數(shù)據(jù),例如,傳送一批信息或整個(gè)文件,這可以通過(guò)一種新的通信機(jī)制來(lái)完成,進(jìn)程之間互相交換信息的工作稱之為進(jìn)程通信IPC (InterProcess Communication)(主要是指大量數(shù)據(jù)的交換)。進(jìn)程間通信的方式很多,包括:

信號(hào)(signal )通信機(jī)制;

信號(hào)量及其原語(yǔ)操作(PV、讀寫鎖、管程)控制的共享存儲(chǔ)區(qū)(shared memory )通信機(jī)制;

管道(pipeline)提供的共享文件(shared file)通信機(jī)制;

信箱和發(fā)信/ 收信原語(yǔ)的消息傳遞(message passing )通信機(jī)制。?

其中前兩種通信方式由于交換的信息量少且效率低下,故稱為低級(jí)通信機(jī)制,相應(yīng)地可把發(fā)信號(hào)/ 收信號(hào)及PV之類操作稱為低級(jí)通信原語(yǔ),僅適用于集中式操作系統(tǒng)。消息傳遞機(jī)制屬于高級(jí)通信機(jī)制,共享文件通信機(jī)制是消息傳遞機(jī)制的變種,這兩種通信機(jī)制,既適用于集中式操作系統(tǒng),又適用于分布式操作系統(tǒng)。

進(jìn)程同步的方法

前面提到,進(jìn)程互斥關(guān)系是一種特殊的進(jìn)程同步關(guān)系,下面給出常見(jiàn)的進(jìn)程同步的方法,實(shí)際上也可用于進(jìn)程的互斥(個(gè)人理解)。

在何炎祥的《計(jì)算機(jī)操作系統(tǒng)》 3.2 節(jié),將進(jìn)程同步的機(jī)制與解決進(jìn)程互斥方法看做是一樣的,的明確指出互斥的軟件解決方法為Dekker算法與Peterson算法,互斥的硬件解決方法為中斷方法、以及使用機(jī)器指令的方法,后面又給出了信號(hào)量、管程、消息傳遞三種方法。

實(shí)際應(yīng)用中,不同的系統(tǒng)有不同的進(jìn)程同步方法,CSDN帖子http://bbs.csdn.net/topics/80156687中有一些討論,Linux?與Windows的主要同步、通信機(jī)制如下:

Linux?下:

Linux?下常見(jiàn)的進(jìn)程同步方法有:SysVIPC?的?sem(信號(hào)量)、file?locking?/?record?locking(通過(guò)?fcntl?設(shè)定的文件鎖、記錄鎖)、futex(基于共享內(nèi)存的快速用戶態(tài)互斥鎖)。針對(duì)線程(pthread)的還有pthread_mutex?和?pthread_cond(條件變量)。


Linux?下常見(jiàn)的進(jìn)程通信的方法有?:pipe(管道),F(xiàn)IFO(命名管道),socket(套接字),SysVIPC?的?shm(共享內(nèi)存)、msg?queue(消息隊(duì)列),mmap(文件映射)。以前還有?STREAM,不過(guò)現(xiàn)在比較少見(jiàn)了(好像)。

Windows下:

在Windwos中,進(jìn)程同步主要有以下幾種:互斥量、信號(hào)量、事件、可等計(jì)時(shí)器等幾種技術(shù)。

在Windows下,進(jìn)程通信主要有以下幾種:內(nèi)存映射、管道、消息等,但是內(nèi)存映射是最基礎(chǔ)的,因?yàn)?,其他的進(jìn)程通信手段在內(nèi)部都是考內(nèi)存映射來(lái)完成的。

線程的同步/通信與進(jìn)程的同步/通信有區(qū)別嗎?

對(duì)于該問(wèn)題,教材上沒(méi)有明確的回答,教材上給出的一般是進(jìn)程而非線程的同步、通信方式。但網(wǎng)絡(luò)上很多說(shuō)法將兩者混為一談。根據(jù)教材,以及網(wǎng)上的說(shuō)法,個(gè)人的理解為:

同步機(jī)制:

信號(hào)量、管程、互斥是進(jìn)程的同步機(jī)制,而信號(hào)量、互斥也可用于線程的同步,但管程只在進(jìn)程同步中被用到;

線程的同步除了信號(hào)量、互斥外,還有臨界區(qū)、事件,沒(méi)有看到教材上將這兩種方式作為進(jìn)程的同步方式;

通信機(jī)制:

管道、FIFO、消息隊(duì)列、信號(hào)量、共享內(nèi)存是進(jìn)程的同步機(jī)制,教材上沒(méi)有線程的通信機(jī)制這樣的說(shuō)法,但可以肯定這幾種方法是進(jìn)程的通信方式,且其中的信號(hào)量既可用于進(jìn)程的同步,又可用于進(jìn)程的通信,在網(wǎng)絡(luò)上還有說(shuō)可以用于線程同步的。

管道與管程是不同的,管程是進(jìn)程同步的方式,而管道則是進(jìn)程通信的方式。

進(jìn)程的同步/通信

下面是常見(jiàn)的線程之間的同步方式的詳細(xì)介紹。

(注:下面轉(zhuǎn)自網(wǎng)絡(luò),下面的同步、通信方式對(duì)于進(jìn)程與線程分的不是很清楚,關(guān)于進(jìn)程還是線程的解釋見(jiàn)上面——線程的同步/通信與進(jìn)程的同步/通信有區(qū)別嗎?)

一、進(jìn)程/線程間同步機(jī)制。

臨界區(qū)、互斥區(qū)、事件、信號(hào)量四種方式

臨界區(qū)(Critical Section)、互斥量(Mutex)、信號(hào)量(Semaphore)、事件(Event)的區(qū)別

1、臨界區(qū):通過(guò)對(duì)多線程的串行化來(lái)訪問(wèn)公共資源或一段代碼,速度快,適合控制數(shù)據(jù)訪問(wèn)。

在任意時(shí)刻只允許一個(gè)線程對(duì)共享資源進(jìn)行訪問(wèn),如果有多個(gè)線程試圖訪問(wèn)公共資源,那么在有一個(gè)線程進(jìn)入后,其他試圖訪問(wèn)公共資源的線程將被掛起,并一直等到進(jìn)入臨界區(qū)的線程離開(kāi),臨界區(qū)在被釋放后,其他線程才可以搶占。

2、互斥量:采用互斥對(duì)象機(jī)制。

只有擁有互斥對(duì)象的線程才有訪問(wèn)公共資源的權(quán)限,因?yàn)榛コ鈱?duì)象只有一個(gè),所以能保證公共資源不會(huì)同時(shí)被多個(gè)線程訪問(wèn)?;コ獠粌H能實(shí)現(xiàn)同一應(yīng)用程序的公共資源安全共享,還能實(shí)現(xiàn)不同應(yīng)用程序的公共資源安全共享 .互斥量比臨界區(qū)復(fù)雜。因?yàn)槭褂没コ獠粌H僅能夠在同一應(yīng)用程序不同線程中實(shí)現(xiàn)資源的安全共享,而且可以在不同應(yīng)用程序的線程之間實(shí)現(xiàn)對(duì)資源的安全共享。

3、信號(hào)量:它允許多個(gè)線程在同一時(shí)刻訪問(wèn)同一資源,但是需要限制在同一時(shí)刻訪問(wèn)此資源的最大線程數(shù)目 .

信號(hào)量對(duì)象對(duì)線程的同步方式與前面幾種方法不同,信號(hào)允許多個(gè)線程同時(shí)使用共享資源,這與操作系統(tǒng)中的PV操作相同。它指出了同時(shí)訪問(wèn)共享資源的線程最大數(shù)目。它允許多個(gè)線程在同一時(shí)刻訪問(wèn)同一資源,但是需要限制在同一時(shí)刻訪問(wèn)此資源的最大線程數(shù)目。

PV操作及信號(hào)量的概念都是由荷蘭科學(xué)家E.W.Dijkstra提出的。信號(hào)量S是一個(gè)整數(shù),S大于等于零時(shí)代表可供并發(fā)進(jìn)程使用的資源實(shí)體數(shù),但S小于零時(shí)則表示正在等待使用共享資源的進(jìn)程數(shù)。

   P操作申請(qǐng)資源:

 ?。?)S減1;

 ?。?)若S減1后仍大于等于零,則進(jìn)程繼續(xù)執(zhí)行;

 ?。?)若S減1后小于零,則該進(jìn)程被阻塞后進(jìn)入與該信號(hào)相對(duì)應(yīng)的隊(duì)列中,然后轉(zhuǎn)入進(jìn)程調(diào)度。

  V操作 釋放資源:

 ?。?)S加1;

  (2)若相加結(jié)果大于零,則進(jìn)程繼續(xù)執(zhí)行;

 ?。?)若相加結(jié)果小于等于零,則從該信號(hào)的等待隊(duì)列中喚醒一個(gè)等待進(jìn)程,然后再返回原進(jìn)程繼續(xù)執(zhí)行或轉(zhuǎn)入進(jìn)程調(diào)度。

4、事 件: 通過(guò)通知操作的方式來(lái)保持線程的同步,還可以方便實(shí)現(xiàn)對(duì)多個(gè)線程的優(yōu)先級(jí)比較的操作 .

總結(jié):

  1. 互斥量與臨界區(qū)的作用非常相似,但互斥量是可以命名的,也就是說(shuō)它可以跨越進(jìn)程使用。所以創(chuàng)建互斥量需要的資源更多,所以如果只為了在進(jìn)程內(nèi)部是用的話使用臨界區(qū)會(huì)帶來(lái)速度上的優(yōu)勢(shì)并能夠減少資源占用量。因?yàn)榛コ饬渴强邕M(jìn)程的互斥量一旦被創(chuàng)建,就可以通過(guò)名字打開(kāi)它。

  2. 互斥量(Mutex),信號(hào)燈(Semaphore),事件(Event)都可以被跨越進(jìn)程使用來(lái)進(jìn)行同步數(shù)據(jù)操作,而其他的對(duì)象與數(shù)據(jù)同步操作無(wú)關(guān),但對(duì)于進(jìn)程和線程來(lái)講,如果進(jìn)程和線程在運(yùn)行狀態(tài)則為無(wú)信號(hào)狀態(tài),在退出后為有信號(hào)狀態(tài)。所以可以使用WaitForSingleObject來(lái)等待進(jìn)程和線程退出。

  3. 通過(guò)互斥量可以指定資源被獨(dú)占的方式使用,但如果有下面一種情況通過(guò)互斥量就無(wú)法處理,比如現(xiàn)在一位用戶購(gòu)買了一份三個(gè)并發(fā)訪問(wèn)許可的數(shù)據(jù)庫(kù)系統(tǒng),可以根據(jù)用戶購(gòu)買的訪問(wèn)許可數(shù)量來(lái)決定有多少個(gè)線程/進(jìn)程能同時(shí)進(jìn)行數(shù)據(jù)庫(kù)操作,這時(shí)候如果利用互斥量就沒(méi)有辦法完成這個(gè)要求,信號(hào)燈對(duì)象可以說(shuō)是一種資源計(jì)數(shù)器。

二、進(jìn)程間通信方式

由于比較容易混淆,我們把進(jìn)程間通信方法也列在這里做比較。

進(jìn)程通信也就是所謂的IPC問(wèn)題,主要是指進(jìn)程間交換數(shù)據(jù)的方式。進(jìn)程通信包括高級(jí)通信與低級(jí)通信,其中進(jìn)程同步與互斥屬于低級(jí)通信,主要用于插U農(nóng)地控制信號(hào);高級(jí)通信包括三種:共享存儲(chǔ)系統(tǒng)(有的地方稱作共享內(nèi)存區(qū))、消息傳遞系統(tǒng)(有的地方稱作消息隊(duì)列)、管道。

信號(hào)量是進(jìn)程同步與互斥的常用方法,也可以作為低級(jí)的進(jìn)程通信方法,用于傳遞控制信號(hào)。

簡(jiǎn)而言之,進(jìn)程間通信方式主要包括管道、FIFO、消息隊(duì)列、信號(hào)量、共享內(nèi)存。

1.管道,還有命名管道和非命名管道(即匿名管道)之分,非命名管道(即匿名管道)只能用于父子進(jìn)程通訊,命名管道可用于非父子進(jìn)程,命名管道就是FIFO,管道是先進(jìn)先出的通訊方式 ? ?

2.消息隊(duì)列,是用于兩個(gè)進(jìn)程之間的通訊,首先在一個(gè)進(jìn)程中創(chuàng)建一個(gè)消息隊(duì)列,然后再往消息隊(duì)列中寫數(shù)據(jù),而另一個(gè)進(jìn)程則從那個(gè)消息隊(duì)列中取數(shù)據(jù)。需要注意的是,消息隊(duì)列是用創(chuàng)建文件的方式建立的,如果一個(gè)進(jìn)程向某個(gè)消息隊(duì)列中寫入了數(shù)據(jù)之后,另一個(gè)進(jìn)程并沒(méi)有取出數(shù)據(jù),即使向消息隊(duì)列中寫數(shù)據(jù)的進(jìn)程已經(jīng)結(jié)束,保存在消息隊(duì)列中的數(shù)據(jù)并沒(méi)有消失,也就是說(shuō)下次再?gòu)倪@個(gè)消息隊(duì)列讀數(shù)據(jù)的時(shí)候,就是上次的數(shù)據(jù)?。。。?? ?

3.信號(hào)量,它與WINDOWS下的信號(hào)量是一樣的,所以就不用多說(shuō)了 ? ?

4.共享內(nèi)存,類似于WINDOWS下的DLL中的共享變量,但LINUX下的共享內(nèi)存區(qū)不需要像DLL這樣的東西,只要首先創(chuàng)建一個(gè)共享內(nèi)存區(qū),其它進(jìn)程按照一定的步驟就能訪問(wèn)到這個(gè)共享內(nèi)存區(qū)中的數(shù)據(jù),當(dāng)然可讀可寫 ? ? ?

以上幾種方式的比較: ? ?

1.管道:速度慢,容量有限,只有父子進(jìn)程能通訊 ? ?

2.FIFO:任何進(jìn)程間都能通訊,但速度慢 ? ?

3.消息隊(duì)列:容量受到系統(tǒng)限制,且要注意第一次讀的時(shí)候,要考慮上一次沒(méi)有讀完數(shù)據(jù)的問(wèn)題

4.信號(hào)量:不能傳遞復(fù)雜消息,只能用來(lái)同步 ? ?

5.共享內(nèi)存區(qū):能夠很容易控制容量,速度快,但要保持同步,比如一個(gè)進(jìn)程在寫的時(shí)候,另一個(gè)進(jìn)程要注意讀寫的問(wèn)題,相當(dāng)于線程中的線程安全,當(dāng)然,共享內(nèi)存區(qū)同樣可以用作線程間通訊,不過(guò)沒(méi)這個(gè)必要,線程間本來(lái)就已經(jīng)共享了同一進(jìn)程內(nèi)的一塊內(nèi)存

 ??本質(zhì)上,信號(hào)量是一個(gè)計(jì)數(shù)器,它用來(lái)記錄對(duì)某個(gè)資源(如共享內(nèi)存)的存取狀況。一般說(shuō)來(lái),為了獲得共享資源,進(jìn)程需要執(zhí)行下列操作:

? ?。?)測(cè)試控制該資源的信號(hào)量;

? ?。?)若此信號(hào)量的值為正,則允許進(jìn)行使用該資源,進(jìn)程將進(jìn)號(hào)量減1;

?  (3)若此信號(hào)量為0,則該資源目前不可用,進(jìn)程進(jìn)入睡眠狀態(tài),直至信號(hào)量值大于0,進(jìn)程被喚醒,轉(zhuǎn)入步驟(1);

?  (4)當(dāng)進(jìn)程不再使用一個(gè)信號(hào)量控制的資源時(shí),信號(hào)量值加1,如果此時(shí)有進(jìn)程正在睡眠等待此信號(hào)量,則喚醒此進(jìn)程。

????套接字通信并不為L(zhǎng)inux所專有,在所有提供了TCP/IP協(xié)議棧的操作系統(tǒng)中幾乎都提供了socket,而所有這樣操作系統(tǒng),對(duì)套接字的編程方法幾乎是完全一樣的

三、進(jìn)程/線程同步機(jī)制與進(jìn)程間通信機(jī)制比較

很明顯2者有類似,但是差別很大

同步主要是臨界區(qū)、互斥、信號(hào)量、事件

進(jìn)程間通信是管道、內(nèi)存共享、消息隊(duì)列、信號(hào)量、socket

共通之處是,信號(hào)量和消息(事件)

小結(jié):

進(jìn)程互斥、同步與通信的關(guān)系:進(jìn)程競(jìng)爭(zhēng)資源時(shí)要實(shí)施互斥,互斥是一種特殊的同步,實(shí)質(zhì)上需要解決好進(jìn)程同步問(wèn)題,進(jìn)程同步是一種進(jìn)程通信,由此看來(lái),進(jìn)程互斥、同步都可以看做進(jìn)程的通信;

信號(hào)量是進(jìn)程同步與互斥的常用方法,也可以作為低級(jí)的進(jìn)程通信方法,用于傳遞控制信號(hào);

管道與管程是不同的,管程是進(jìn)程同步的方式,而管道則是進(jìn)程通信的方式;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容