これが私の問題です。APSchedulerライブラリを使用して、スケジュールされたジョブをアプリケーションに追加しています。同じコードを同時に実行する複数のジョブがありますが、パラメーターは異なります。これらのジョブが同時に同じメソッドにアクセスすると、プログラムが正しく機能しない場合に問題が発生します。
Python 3.4でメソッドをロックして、一度に1つのスレッドだけがアクセスできるようにする方法があるかどうか知りたいですか?そうであれば、簡単なサンプルコードを投稿してください。ありがとうございます。
基本的なpythonロックメカニズムを使用できます:
from threading import Lock
lock = Lock()
...
def foo():
lock.acquire()
try:
# only one thread can execute code there
finally:
lock.release() #release lock
またはコンテキスト管理あり:
def foo():
with lock:
# only one thread can execute code there
詳細については、 Python 3ロックオブジェクト および Pythonのスレッド同期メカニズム を参照してください。