2012-09-03 125 views
1

我对线程和进程级别的信号量和互斥量的使用感到困惑。我们可以在线程和进程同时使用semphores和mutexes,还是在线程和进程级别有不同的信号量和互斥量?我的问题是参考POSIX API。线程和进程同步的信号量和互斥量

回答

5

这两个问题的答案都是肯定的。您可以创建互斥或信号量作为进程共享或不共享。因此,您可以将它们用作进程间或线程间同步对象,但必须指定在创建它们时使用哪些对象。

当然,您必须在希望访问它的所有上下文共享的内存中创建同步对象。使用线程,这是微不足道的,因为它们共享内存视图。通过进程,您必须专门在共享内存中创建同步对象。

1

同步保护元素,当他们共享数据或者他们的任务必须被排序时。

进程和线程基本上是相同的(有区别),它们是做一些工作的计算块,唯一需要注意的是当你使用进程和使用线程时,但使用的方法是相同。