のPython 3.xのロックはグローバルとして宣言する必要がありますか?
import threading
lock = threading.Lock()
counter = 0
def update_counter():
global counter
lock.acquire()
counter += 1
lock.release()
# starts threads, target update_counter
んが同様にグローバルでなければならないロック?そうでない場合、ローカルロックが定義されていないため、どのようにエラーは発生しませんか?
は
試用中にエラーが発生しましたか? – Evert
サイドノート: 'acquire'と' release'を手動で呼び出さないでください。可能であれば、 'with'ステートメントを使用してください。それは例外的に安全であり、 'acquire'と' release'呼び出しが適切に一致するのを忘れる可能性を避けます。 – ShadowRanger