我需要构建一个处理文件的linux服务/守护进程。这个守护进程很可能是多线程的,并且很可能运行在多个节点上。同步所有守护进程的线程的最佳方法是什么,这样就不会有两个线程处理同一个文件?
我想到了几个想法,但不知道是否有更好的方法,因为我刚接触linux。
示例:文件名= 987654321
我们有一个守护进程运行在两个节点上。每个守护进程的配置将指示守护进程的数量以及守护进程应该处理的模块。因此,一个守护进程将处理模块化值0,而另一个守护进程将处理模块化值1。
987654321 %2= 1,因此它将由守护进程处理模块1处理。
谢谢,尼克
发布于 2015-09-09 15:27:20
如果要用Python实现逻辑,可以使用python的队列类。它是为多个线程之间交换数据而设计的。
您可以将您的文件和/或目录放在队列中,然后每个线程将访问该队列并获取该文件。这样,线程就永远不会持有相同的对象。
https://stackoverflow.com/questions/32482789
复制相似问题