【发布时间】:2010-07-05 13:17:05
【问题描述】:
我有一些资源,我想保护它们免受同一进程中的线程和不同进程之间的并发使用。 在 *nix 中“正确”的做法是什么?
例如我们想从多线程应用程序写入文件,该应用程序有时会分叉一些子进程。如何保证每个线程在一段时间内对文件有独占访问权?我正在寻找一个通用的答案,而不是仅适用于写入文件的答案,因为它也可能是共享内存段等。
【问题讨论】:
-
我们正在使用的一种方法,但有一些缺点,是使用嵌套的 pthread_mutex_lock() 和flock(),但它在跨叉时存在一些问题。
标签: unix multithreading process mutex shared