主要内容:
线程的一些其他方法
线程事件
线程队列
线程池
GIL锁
协程
Greenlet
Gevent
一. 线程(threading)的一些其他方法
from threading import Thread import threading import time def work(): time.sleep(1) print("子线程对象>>>", threading.current_thread()) # 子线程对象 print("子线程名称>>>", threading.current_thread().getName()) # 子线程名称 print("子线程ID>>>", threading.get_ident()) # 子线程ID if __name__ == '__main__': t = Thread(target=work) # 创建子线程 t.start() # 开启子线程 print("主线程对象>>>", threading.current_thread()) # 主线程对象 print("主线程名称>>>", threading.current_thread().getName()) # 主线程名称 print("主线程ID>>>", threading.current_thread().ident) # 主线程ID print("主线程ID>>>", threading.get_ident()) # 主线程ID time.sleep(1) # 阻塞住,此时主线程代码运行的同时子线程代码也在运行 print(threading.enumerate()) # 拿到所有正在运行的线程对象(包括主线程) print(threading.active_count()) # 拿到所有正在运行的线程对象的数量 print("主线程/主进程执行完毕")