python多线程操作【概念】

来源:互联网 发布:网络机顶盒接音响 编辑:程序博客网 时间:2024/06/11 21:55

1、线程(thread)、全局解释锁(GIL)、全局解释锁


2、thread、threading、Queue、mutex、SocketServer模块

   thread、threading 模块允许程序员创建管理线程、但是真实应用中不建议使用thread、尽量使用threading替换thread(理由:a、threading 模块更高级,对线程支持更完善。b、thread 模块同步原语少,模块里的属性可能会和threading出现冲突 c、thread 不支持守护进程)

queue 模块允许用户创建一个可以用于多个线程之间共享数据的队列结构。

mutex 互斥对象

SocketServer 具有线程控制的TCP和UDP管理器

3、threading模块

thread:一个线程的执行对象

Lock:锁原语对象

RLock:可重入锁对象(递归锁)

Condition:条件变量对象能让一个线程停下来,等待其他线程满足了某个条件

Event:通用的条件变量

Semaphore:为等待锁的线程提供一个类似‘等候室’的结构

BounderdSemaphore:与semaphore类似,只是它不允许超过初始值。

Timer:定时器

4、join()函数

  允许主线程等待线程结束

0 0