現在、 globalLock = threading.Lock()
があり、次の呼び出しを行います。
Parallel(n_jobs=2)(delayed(serialRemove)(dir,c,b,l,f) for f in os.listdir(dir))
jobLib を使用します。でserialRemove
、私は持っています
Lock.acquire()
print(f+' begin')
if h in hashes:
try:
os.remove(path)
if l: print('Removing ' + path)
removed += 1
except os.error:
print('Encountered error removing file')
else:
hashes.add(h)
print(f+' end')
Lock.release()
呼び出しの一部は次のようになります:
10.txt begin
11.txt begin
20.txt begin
コードを Lock で囲むと、begin が 2 つ表示される理由がわかりません。コード ブロックを保護する簡単な方法はありますか? 理想的には、次
の
よう
に
なり
ます
。