摘要:
sys.argv 命令行参数List,第一个元素是程序本身路径 【注】PyCharm中,可以在右键菜单“修改运行配置”中增加参数 sys.exit(0) 正常退出时用exit(0)或exit(); sys.exit(1-127) 错误退出,会引发一个异常:SystemExit,如果这个异常没有被捕获 阅读全文
posted @ 2021-09-21 00:51
张永谊
阅读(150)
评论(0)
推荐(0)
摘要:
创建一个“队列”对象import Queueq = Queue.Queue(maxsize = 10)Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。 将一个值放入 阅读全文
posted @ 2021-09-20 22:44
张永谊
阅读(1746)
评论(0)
推荐(0)
摘要:
threading.Event类内置了两个成员:self._cond = Condition(Lock()) 这是一个条件同步线程,用于wait和noticeallself._flag = False 这个值,默认是False,如果是False,线程进行到wait函数是会阻塞,如果是True,有wa 阅读全文
posted @ 2021-09-20 03:10
张永谊
阅读(631)
评论(0)
推荐(0)
摘要:
condition类里内置了一把RLock锁,有acquire方法和release方法,还有wait,notify,notifyAll方法, 使用acquire方法可以获得RLock锁 使用wait方法就会放掉锁并处于阻塞状态,等其他线程中有使用notify方法时,在wait前的acquire方法处 阅读全文
posted @ 2021-09-20 01:03
张永谊
阅读(515)
评论(0)
推荐(0)
摘要:
互斥锁 同时只允许一个线程更改数据,而Semaphore是同时(无序轮流)允许一定数量(设置参数)的线程更改数据 ,比如厕所有3个坑,那最多只允许3个人上厕所,后面的人只能等里面有人出来了才能再进去。 import threading, time, sys def run(n): semaphore 阅读全文
posted @ 2021-09-19 19:51
张永谊
阅读(173)
评论(0)
推荐(0)
摘要:
Threading模块为我们提供了一个类,Threading.Lock锁。我们创建一个该类对象,在线程函数执行前,“抢占”该锁,执行完成后,“释放”该锁,则我们确保了每次只有一个线程占有该锁。这时候对一个公共的对象进行操作,则不会发生线程不安全的现象了。 1、我们先建立了一个threading.Lo 阅读全文
posted @ 2021-09-19 16:09
张永谊
阅读(757)
评论(0)
推荐(0)
浙公网安备 33010602011771号