• 多线程之共享变量.md


    共享变量

      -  共享变量:当多个线程同时访问一个变量的时候,会产生共享变量的问题

      -  案例11

      -  解决变量:锁、信号灯;

      -  锁(Lock):

        -  是一个标志,表示一个线程在占用一些资源

        -  使用方法:

          -  上锁

          -  使用共享资源,放心的用

          -  取消锁,释放锁

        -  案例12

        -  锁谁:哪个资源需要多个线程共享,锁哪个

        -   理解锁:锁其实不是锁住谁,而是一个令牌

    -   线程安全问题:

        -  如果一个资源/变量,他对于多线程来讲,不用加锁也不会引起任何问题,则称为线程安全

        -  线程不安全变量类型: list, set, dict

        -  线程安全变量类型: queue

    #  生产者消费者问题

      -  一个模型,可以用来搭建消息队列  

      -  queue是一个用来存放变量的数据结构,特点是先进先出,内部元素排队,可以理解成一个特殊的list

      -  死锁问题,案例14

      -  锁的等待时间问题  v15

      - semphore 

        -  允许一个资源最多由几个多线程同时使用

        - V16

      - threading.Timer

        -   案例 17

        -  Timer是利用多线程,在指定时间后启动一个功能

      - 可重入锁

        -   一个锁,可以被一个线程多次申请

        -  主要解决递归调用的时候,需要申请锁的情况

      

            

       

      v13

      

  • 相关阅读:
    如何根据二叉树 前序遍历 中序遍历 后序遍历 中的两种遍历来反推另一种遍历
    dijkstral改编
    纪念做出来的第一道计算几何题
    链式前向星
    一道简单树形dp
    算法进阶指南—特殊排序
    算法进阶指南二分章节的两道题
    秦皇岛winter camp 总结
    C
    一道cf水题
  • 原文地址:https://www.cnblogs.com/niaocaizhou/p/10472571.html
Copyright © 2020-2023  润新知