zoukankan      html  css  js  c++  java
  • Python 进程 线程总结

    操作系统的底层是 进程 线程 实现的

    进程

    操作系统完成系统进程的切换,中间有状态的保存。进程有自己独立的空间,进程多,资源消耗大

    进程是最小的资源管理单位
    可以理解为盛放线程的容器

    线程

    线程是最小的执行单位

    串行、并行、 并发 、

    并行有多个CPU

    并发只有一个CPU

    GIL

    CPython同一时刻只有一个线程被执行

    Threading 多线程

    • 实例化方法
    • 类的继承 还要重写run方法

    join SetDemon

    是实例化的对象应用的

    join 是主线程等子线程4

    setDaemon 守护线程
    程序直到不存在非守线程的时候退出
    也就是需要等待非守护线程结束

    同步锁(互斥锁)

    由于多线程共用数据

    CPU只要有IO操作,就进行切换,但是同步锁锁住了后,切换完第一步后就还是回来处理加锁的

    死锁

    是两个不同的锁

    刚释放的锁接着加锁,别的对象抢不到
    释放锁的有对锁的优先级

    递归锁

    内部计数器
    只要计数器大于0 别人就不能抢

    event (不是锁)

    event和队列的join task_done是一个原理

    两个线程通信的过程,多个线程之间能通过设置标志位来改变另一个线程的
    Flag默认是False,是阻塞的其他线程set之后就变成True

    radis

    信号量 (是锁)

    自己能控制同时几个能获得锁,和同步锁进行对比

    限制连接的量,限制同时访问的数量

    这就是连接池的概念

  • 相关阅读:
    Android Studio基本使用
    convlstm学习资料
    Java重写与重载
    Java继承的缺点
    long转int
    解决RubyMine中puts中文显示乱码的问题
    Ruby入门1
    Ruby学习笔记
    matplotlib绘制饼状图
    python强大的绘图模块matplotlib示例讲解
  • 原文地址:https://www.cnblogs.com/Python666/p/6841686.html
Copyright © 2011-2022 走看看