2014-02-07 44 views
0

在所有書籍信號量都列在IPC機制下? 這是爲什麼? 因爲我知道的是信號量用於同步。爲什麼信號量被認爲是IPC?

我在這個論壇上看過一個類似的問題,但是,這並沒有消除疑問。

+2

「[Semaphore](http://en.wikipedia.org/wiki/Semaphore_(programming))用於不同進程或線程之間的同步」,這就是爲什麼它被認爲是IPC。 –

+0

但它不利於通過它傳輸數據,對吧? 僅僅因爲兩個或多個進程爲了同步需要信號量,所以它叫IPC? –

+2

IPC代表「進程間通信」,「通信」是指在進程之間傳輸*信息*,何時執行某些動作(同步)是要在進程之間傳輸的信息。 –

回答

2

man page for sem_overview告訴(有說明如何做到這一點):

POSIX信號使進程和線程同步他們的行動。

因此信號量可以用於進程間通信。

0

以及在Linux基本上有兩種類型的信號量

named semaphores 
unnamed semaphores 

的,我想在這裏無名信號量基本上是已知的IPC機制以及鎖止機構both.and命名一個僅用於鎖定機制

link可以是有用的

+0

你是對的,但是當我們在Linux書籍中讀取IPC時,主題是在同步和IPC下給出的,所以我問 –

+0

@VirendraKumar我再次進行了校正檢查 – user2760375

0

我認爲原因是因爲命名的信號量。
有兩種類型的信號量,分別是named和unnamed。

通常命名的信號量用於進程同步,而未命名的信號量用於線程同步。

This Multithreaded Programming Guide

命名信號類似於進程共享的信號,區別在於命名 信號燈使用路徑名而非pshared值引用。 命名的信號量可以通過多個進程共享。


*可以共享無名信號量(與例如子進程)的過程中,但它是不常見的。

相關問題