Discuss / Python / 加锁是不是也可以在函数里面加

加锁是不是也可以在函数里面加

Topic source

多线程导致的线程不安全问题感觉就是有多条语句被操作,只要将这多条语句进行加锁就可以了,像廖老师这样把整个函数都加锁可以,不过我们也可以继续把范围缩小,对产生线程不安全的语句进行定点专门加锁,比如这样:

def change_it(n):
    global balance
    lock.acquire()
    try:
        balance = balance + n
        balance = balance - n
    finally:
            lock.release()

Heath_Li

#2 Created at ... [Delete] [Delete and Lock User]

这样更合理 balance叫做临界资源


  • 1

Reply