多线程
——thread 模块
_thread.start_new_thread( function, args[, kwargs] )
threading 模块
import threading
threading.main_thread() #返回主线程对象
threading.currentThread() #返回当前的线程对象
threading.current_thread() #返回当前的线程对象
threading.enumerate() #初始1,返回当前线程所有对象list
threading.activeCount() #初始1,返回当前线程数 int
threading.active_count() #初始1,返回当前线程数 int
getName() #返回线程名
setName() #设置线程名
#线程锁(互斥锁Mutex) 允许一个线程更改数据
threading.get_ident() #返回当前线程ID,非0整数 ident
threading.BoundedSemaphore(n) #允许n个线程同时运行
threading.Thread(target, args, kwargs) #封装线程
threadiing.Lock() #生成全局锁
.run() #启动函数
.start() #启动线程
.join([time]) #等待至线程中止
.setDaemon(bool)#守护线程
.isAlive() #返回线程是否活动的。
#RLock(递归锁) 大锁中包含子锁
.acquire() #创建锁,加锁
.release() #释放锁,解锁
threadin.Lock() #创建锁对象
#Semaphore(信号量) 允许N个线程更改数据
#Event
threading.Event() #生成对象
Event().wait() #插入在进程中插入一个标记(flag) 默认为 false 然后flag为false时 程序会停止运行 进入阻塞状态
Event().set() #使flag为Ture 然后程序会运行 进入运行状态
Event().clear() # 使flag为false 然后程序会停止运行 进入阻塞状态
Event().is_set()#判断flag 是否为True 是的话 返回True 不是 返回false
logging 日志模块
queue 模块
import queue
queue.Queue() #创建一个先进先出队列
queue.LifoQueue() #创建一个后进先出队列
queue.PriorityQueue() #存储数据时可设置优先级的队列
queue.PriorityQueue()
queue.qsize() #返回队列大小
queue.qsize() #列表为空返回True, 反之False
queue.full() #如果队列满了,返回True,反之False
queue.get([block[,timeeout]])#读队列,timeout等待时间
queue.put(itme,[block[,timeoout]])#写队列,timeout等待时间
queue.queue.clear() #清空队列
gevent 协程(微线程)模块
import gevent
gevent.joinnall([def, def])
from greenlet import greenlet
gr.switch()
gevent.sleep(time)
多进程
multiprocessing 模块
import multiprocessing
Proocess.Process(target, args, kwargs)#封装进程