2012-09-03 156 views
1

我對線程和進程級別的信號量和互斥量的使用感到困惑。我們可以在線程和進程同時使用semphores和mutexes,還是在線程和進程級別有不同的信號量和互斥量?我的問題是參考POSIX API。線程和進程同步的信號量和互斥量

回答

5

這兩個問題的答案都是肯定的。您可以創建互斥或信號量作爲進程共享或不共享。因此,您可以將它們用作進程間或線程間同步對象,但必須指定在創建它們時使用哪些對象。

當然,您必須在希望訪問它的所有上下文共享的內存中創建同步對象。使用線程,這是微不足道的,因爲它們共享內存視圖。通過進程,您必須專門在共享內存中創建同步對象。

1

同步保護元素,當他們共享數據或者他們的任務必須被排序時。

進程和線程基本上是相同的(有區別),它們是做一些工作的計算塊,唯一需要注意的是當你使用進程和使用線程時,但使用的方法是相同。