Locking a method in Python?

前端 未结 1 958
长发绾君心
长发绾君心 2020-12-17 10:30

Here is my problem: I\'m using APScheduler library to add scheduled jobs in my application. I have multiple jobs executing same code at the same time, but with different par

相关标签:
1条回答
  • 2020-12-17 10:59

    You can use a basic python locking mechanism:

    from threading import Lock
    lock = Lock()
    ...
    
    def foo():
        lock.acquire()
        try:
            # only one thread can execute code there
        finally:
            lock.release() #release lock
    

    Or with context managment:

    def foo():
        with lock:
            # only one thread can execute code there
    

    For more details see Python 3 Lock Objects and Thread Synchronization Mechanisms in Python.

    0 讨论(0)
提交回复
热议问题