【发布时间】:2012-09-03 16:59:25
【问题描述】:
我对在线程和进程级别使用信号量和互斥锁感到困惑。我们可以在线程和进程同步中使用信号量和互斥量,还是在线程和进程级别都有不同的信号量和互斥量?我的问题是关于 POSIX API 的。
【问题讨论】:
标签: multithreading posix mutex semaphore
我对在线程和进程级别使用信号量和互斥锁感到困惑。我们可以在线程和进程同步中使用信号量和互斥量,还是在线程和进程级别都有不同的信号量和互斥量?我的问题是关于 POSIX API 的。
【问题讨论】:
标签: multithreading posix mutex semaphore
这两个问题的答案都是肯定的。您可以将互斥锁和信号量创建为进程共享或不共享。因此,您可以将它们用作进程间或线程间同步对象,但您必须在创建它们时指定它们。
当然,您必须在所有希望访问它的上下文共享的内存中创建同步对象。对于线程,这是微不足道的,因为它们共享内存视图。对于进程,您必须专门在共享内存中创建同步对象。
【讨论】:
当元素共享数据或必须对其任务进行排序时,同步可以保护元素。
进程和线程基本上是相同的(有区别)它们是使某些工作起作用的计算部分,您唯一需要注意的是当您使用进程时和使用线程时,但使用的方法是相同的.
【讨论】: