摘要: 1.在程序中如果想要手动加锁,一般有两种:Lock和RLock (1)Lock,同步锁(不支持同时锁两次) (2)RLock,递归锁 (3)Rlock支持多次申请锁和多次释放;Lock不支持。 2.锁的简便使用方法 with lock: #等于 lock.acquire()和lock.release 阅读全文
posted @ 2022-09-01 22:14 机械猿 阅读(28) 评论(0) 推荐(0)
摘要: 一个进程中有很多线程,且线程共享所有进程中的资源。 多进程统统是去操作一个“东西”,可能会存在数据混乱的情况,例如: 1.示例一: import threating loop = 10000 number = 0 def _add(cound): global number for i in ran 阅读全文
posted @ 2022-09-01 21:39 机械猿 阅读(18) 评论(0) 推荐(0)
摘要: 线程的常用方法: - t.start(),当前线程准备就绪(等待CPU调度,具体时间由CPU进行决定) - t.join(),等待当前线程的任务执行完毕后再向下继续执行。 import threading number = 0 def _add(): global number for i in r 阅读全文
posted @ 2022-09-01 21:12 机械猿 阅读(42) 评论(0) 推荐(0)
摘要: GIL锁: 全局解释器锁(Global Interpreter),是CPython解释器特有的,让一个进程中同一时刻只能有一个线程可以被CPU调用。 2.常见的程序开发中,计算操作需要使用CPU多核优势,IO操作不需要利用多核优势 - 计算密集型,使用多进程,例如:大量数据计算(累加计算示例) - 阅读全文
posted @ 2022-09-01 08:51 机械猿 阅读(57) 评论(0) 推荐(0)