多线程导致的线程不安全问题感觉就是有多条语句被操作,只要将这多条语句进行加锁就可以了,像廖老师这样把整个函数都加锁可以,不过我们也可以继续把范围缩小,对产生线程不安全的语句进行定点专门加锁,比如这样:
def change_it(n): global balance lock.acquire() try: balance = balance + n balance = balance - n finally: lock.release()
这样更合理 balance叫做临界资源
Sign in to make a reply
旅行的Martin
多线程导致的线程不安全问题感觉就是有多条语句被操作,只要将这多条语句进行加锁就可以了,像廖老师这样把整个函数都加锁可以,不过我们也可以继续把范围缩小,对产生线程不安全的语句进行定点专门加锁,比如这样: