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

    信号量 (是锁)

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

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

    这就是连接池的概念

  • 相关阅读:
    Mac使用笔记(二)
    AJAX tooltip by jQuery UI Widget and MVC3
    MVC4的bundling功能简介
    Mac使用笔记
    浅析ASP.Net Web API的Formatter
    浅析ASP.net Web API的Model验证(使用MVC4框架的Web API须谨慎)
    2012年读过的最好的书
    SQLite在.net下的使用方法
    C#也允许函数默认参数
    chrome不支持对opener方法的调用?
  • 原文地址:https://www.cnblogs.com/Python666/p/6841686.html
Copyright © 2011-2022 走看看