擅长:python、mysql、java
<p>好吧,我建议的原则有点不同。每次执行一个线程时,都必须创建一个锁,以便其他线程知道其他线程在同一时间执行。我想说最简单的方法是创建和删除锁文件。我脑海中的例子是这样的:</p>
<pre><code>import os
import shutil
import threading
def moveFile(source, destination):
print("waiting for other to finish\n")
error_flag = 0
while(os.path.exists("thread.lck")):
error_flag = 0
print("creating the new lock\n")
f = open("thread.lck", "w")
f.write("You can even do the identification of threads if you want")
f.close()
print("starting the work\n")
if(os.path.exists(source) and os.path.exist(destination)==False):
shutil.move(source, destination)
else:
error_flag = 1
print("remove the lock")
os.remove("thread.lck")
return error_flag
for i in range(0, 5):
threading.Timer(1.0*i, moveFile, args=("some.txt", "some1.txt")).start()
</code></pre>