Python多线程编程:使用条件变量实现数据同步
"import" "time"\n"import" "threading"\n\n"#" "创建条件对象"\n"c" "=" "threading.Condition()"\n"privilege" "=" "0"\n\n"def" "getPri():"\n"\t"global" "privilege"\n"\t"c.acquire()"\n"\t"c.wait()"\n"\t"print(privilege)"\n"\t"c.release()"\n\n"def" "updPri():"\n"\t"time.sleep(5)""#"暂停5s"\n"\t"c.acquire()"\n"\t"global" "privilege"\n"\t"privilege" "=" "1"\n"\t"c.notify()"\n"\t"c.release()"\n\n"if" "name" "==" "'main':"\n"\t"t1" "=" "threading.Thread(target=getPri)"\n"\t"t2" "=" "threading.Thread(target=updPri)"\n"\t"t1.start()"\n"\t"t2.start()"\n"privilege"是一个全局变量,用于表示特权级别。getPri函数用于获取并打印privilege的值,而updPri函数在5秒后将privilege的值设置为1,并通过条件对象的notify方法通知等待的线程。
原文地址: https://www.cveoy.top/t/topic/p9XQ 著作权归作者所有。请勿转载和采集!