鼠…鼠标放错地方了!

2020年7月31日
摘要: 进程锁(线程锁同进程锁相同,将模块以及创建进程改为线程即可) import multiprocessing #导入multiprocessing模块 def func(lock): #lock.acquire #创建锁 with lock: #使用with lock:pass 语句,可以替代创建和释 阅读全文
posted @ 2020-07-31 20:55 xiao韩de博客 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 进程互斥锁 进程之间数据不共享,但是共享同一套文件系统(如硬盘、键盘、cpu等),所以访问同一个文件,或同一个打印终端,是没有问题的,竞争带来的结果就是错乱,如何控制,就是加锁处理,即进程加锁。 #并发运行,效率高,但竞争同一打印终端,带来了打印错乱 from multiprocessing imp 阅读全文
posted @ 2020-07-31 20:53 xiao韩de博客 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 多线程竞争 同一个进程里线程是数据共享的,当各个线程访问数据资源时会出现竞争状态,数据几乎同步会被多个线程占用,造成数据混乱。 锁 Python提供的对线程控制的对象。 锁的好处:确保了某段关键代码只能由一个线程从头到尾完整地执行 锁的坏处: 阻止了多线程并发执行,包含锁的某段代码实际上只能以单线程 阅读全文
posted @ 2020-07-31 20:51 xiao韩de博客 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 协程的执行顺序: go(function () { echo "hello go1 \n"; }); echo "hello main \n"; go(function () { echo "hello go2 \n"; }); go() 是 \Co::create() 的缩写,用来创建一个协程,接 阅读全文
posted @ 2020-07-31 20:48 xiao韩de博客 阅读(231) 评论(0) 推荐(0) 编辑