• python多线程


    1、进程为线程的入口,线程不可独立执行,必须依附在线程上,线程为cpu调度的最小单位

    2、线程分为内核线程和用户线程,内核线程由操作系统创建和销毁,用户线程为在用户进程中实现的线程,不需要内核线程的支持

    3、每个线程有自己的cpu寄存器,保存了上一次运行线程时候的寄存器上下文

    4、线程共享一个进程的内存

    5、线程的状态

    新状态:线程对象创建,未start

    可运行状态:在start开始的时候,首先进入可运行状态。在线程运行之后或者从阻塞、等待或睡眠状态回来后,也返回到可运行状态。

    运行状态:线程调度从可运行线程池中选一个作为当前线程,这个时候的状态为运行状态。是线程进入运行状态的唯一方式。

    等待/阻塞/睡眠状态:有事件发生后,可能返回到可运行状态

    死亡状态:run()方法完成时就认为线程死去,线程对象可能还在,但是线程已经不是一个单独可执行的线程。线程死亡后不可复生,在死亡线程上调用start()方法会报错

    线程同步方式:

    threadLock = threading.Lock()

    threadLock.acquire() 获得锁之后才往下执行

    threadLock.release()释放对锁的占用

  • 相关阅读:
    负载均衡算法实现方式
    TCP三次握手和四次挥手
    深度解析Java内存原型
    缓存击穿、缓存穿透和缓存雪崩
    uni-app分包加载
    vuex的使用
    在web中打开exe程序并传参
    Vue 中引用高德地图
    .Net Core 从MySql数据库生成实体类 Entity Model
    vs2017 创建项目推送到Git上
  • 原文地址:https://www.cnblogs.com/EmptyRabbit/p/11324194.html
Copyright © 2020-2023  润新知