多线程

并发: 指的是任务数多于cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已)
并行:
当任务数小于或者等于cpu核数时,每一个任务都有对应的cpu来处理执行,即任务真的是一起执行的

六、同步的概念
同步(synchronize)就是协同步调,按预定的先后次序进行运行。如:你说完,我再说
在多线程编程里面,一些敏感数据不允许被多个线程同时访问,此时就使用同步访问技术,保证数据在任何时刻,最多有一个线程访问,以保证数据的正确性

线程同步提示的几点:
  1. 线程同步就是线程排队
  2. 共享资源的读写才需要同步
  3. 变量才需要同步,常量不需要同步

七、互斥锁(重点)
1. 互斥锁作用
互斥锁解决线程同步的问题

2. 使用互斥锁解决线程安全问题
   1.  mutex=threading.Lock()  # 构建一把互斥锁
   2. mutex.acquire()  : 上锁
   3. mutex.release() : 释放锁
   
参考:08-多线程共享全局变量问题.py
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容