多线程

作者: MkTom | 来源:发表于2018-09-03 02:05 被阅读0次

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

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

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

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

    2. 使用互斥锁解决线程安全问题
       1.  mutex=threading.Lock()  # 构建一把互斥锁
       2. mutex.acquire()  : 上锁
       3. mutex.release() : 释放锁
       
    参考:08-多线程共享全局变量问题.py
    

    相关文章

      网友评论

          本文标题:多线程

          本文链接:https://www.haomeiwen.com/subject/qncmmftx.html