Multithreading 互斥/信号量:线程与进程

Multithreading 互斥/信号量:线程与进程,multithreading,process,thread-safety,mutex,semaphore,Multithreading,Process,Thread Safety,Mutex,Semaphore,我几乎完全使用VxWorks,因此习惯于只处理线程。我现在在一个既有线程又有进程的Linux环境中工作,我想了解:互斥体和信号量除了在线程中工作外,还可以跨进程工作吗 如果它们跨进程工作,我想进一步问:一个进程如何“知道”另一个进程正在使用相同的互斥/信号量?举例来说,如果进程A声明了全局互斥gMutex,而进程B也声明了全局互斥gMutex,那么这两个互斥在每个进程各自的内存空间中不存在彼此不同的情况吗?也就是说,在两个进程之间如何将互斥体视为“共享”的,而不是每个进程中的全局结构Foo 我也

我几乎完全使用VxWorks,因此习惯于只处理线程。我现在在一个既有线程又有进程的Linux环境中工作,我想了解:互斥体和信号量除了在线程中工作外,还可以跨进程工作吗

如果它们跨进程工作,我想进一步问:一个进程如何“知道”另一个进程正在使用相同的互斥/信号量?举例来说,如果进程A声明了全局互斥gMutex,而进程B也声明了全局互斥gMutex,那么这两个互斥在每个进程各自的内存空间中不存在彼此不同的情况吗?也就是说,在两个进程之间如何将互斥体视为“共享”的,而不是每个进程中的全局结构Foo

我也在想,“线程安全”这个术语是否让我开始思考互斥体和信号量可能只适用于线程而不适用于进程


我已经试着读了一些关于这个问题的文章,但我得到的印象是,许多人不适当地交替使用“进程”和“线程”,因此我希望通过具体地问这个问题来获得一个有针对性的答案。

你必须给他们一个名称,以便其他进程可以按名称引用它。《汉斯帕桑》-谢谢你:读得很好。@Stone提出了一个很好的问题,值得一提。你必须给他们一个名字,以便其他流程可以通过名字来引用它。《汉斯帕桑》——谢谢你们:读得很好。@Stone提出了一个很好的问题,值得投一票