【发布时间】:2015-06-25 07:01:57
【问题描述】:
假设一个处理器上同时运行了 4 个进程,并且需要将数据从 HDFS(与 Spark 一起使用)文件系统复制到本地目录。现在我只希望一个进程复制该数据,而其他进程只是等待该数据被第一个进程复制。
所以,基本上,我想要某种信号量机制,每个进程都试图获取信号量以尝试复制数据,但只有一个进程获取信号量。所有未能获取信号量的进程将等待信号量被清除(能够获取信号量的进程将在完成复制后将其清除),当它清除时,他们知道数据已经被复制.我如何在 Linux 中做到这一点?
【问题讨论】:
标签: c linux apache-spark semaphore