python同步的条件变量主要是应对互斥锁搞不定的情况,之前一直对condition搞不太清楚,最近特地查阅了一些资料,有一些心得与大家分享。
经典例子:银行存钱取钱问题。
from concurrent.futures import ThreadPoolExecutor
from random import randint
from time import sleep
import threading
class Account():
"""银行账户"""
def __init__(self, balance=0):
self.balance = balance
lock = threading.Lock()
self.condition = threading.Condition(lock)
def withdraw(self, money