zoukankan      html  css  js  c++  java
  • python 线程

    # 线程
        # 守护线程
            # 在主线程结束(包括所有的子线程)之后守护线程才结束
        # 面向对象开启线程
            # 原本写在func中的代码挪到run方法中
        # 同步的机制
            #
                # GIL锁  是全局解释器锁 线程没有并行
                    # 是Cpython解释器的
                    # 在开发python解释器的时候可以减少很多细粒度的锁
                # 为什么有了GIL锁还会产生数据安全问题呢?
                    # 因为GIL锁得是线程 而不是具体的内存
                # 互斥锁 不能连续acquire两次
                # 递归锁 可以在用一个线程/进程中被acquire多次
                # 死锁 : 是一种现象,而不是一个工具
                    # 为什么产生死锁 : 代码的逻辑有问题
                    # 如何解决死锁 :
                        # 如果在服务阶段 -> 递归锁 ->排查逻辑 -> 互斥锁
                        # 如果在测试阶段 -> ->排查逻辑 -> 互斥锁
            # 信号量  锁+计数器
                # 和池的区别 : 信号量是有几个任务起几个进程/线程 池是固定的线程/进程数,不限量的任务
                # 现象 : 信号量慢 且耗资源 池快
            # 事件 Event wait set clear is_set
            # 条件 condition wait notify acquire release
            # 定时器 Timer
    # join  同步控制 用来获取结果
    # 锁    数据安全
    # 池    提高效率,解决并发
  • 相关阅读:
    无言
    计算机网络的所有课件
    Linux 分区
    Linux 文件管理权限
    DropDownList 控件
    CssClass初步语法了解
    BulletedList用途
    BulletedList项目控件基础CSS基础
    Checkbox与foreach循环
    RadioButton控件
  • 原文地址:https://www.cnblogs.com/ltk-python/p/9395801.html
Copyright © 2011-2022 走看看