我发现了这个: 快速进程间同步方法
我曾经认为pthread互斥锁只能在同一地址空间中的两个线程之间共享.
那里的问题/答案似乎意味着:
如果我有两个单独的程序A和B.它们有一个共享的内存区域M.我可以将一个pThread互斥锁放在M中,锁定在A中,锁定在B中,在A中解锁; 和B将不再阻止互斥锁.它是否正确?可以在两个独立的进程中共享pThread互斥锁吗?
编辑:我在MacOSX上使用C++.
我有一个场景,共享内存区域由两个不同的进程专门访问.当我启动进程时,第一个进程成功锁定互斥锁,更新内存并解锁互斥锁.但我观察到当第二个进程试图锁定它时,它仍处于死锁状态,等待互斥锁解锁.
对于第一个和第二个进程,互斥锁之间的时间差为10秒.
我使用的是std :: mutex.请告诉我我错过了什么.