主要内容:

  线程的一些其他方法

  线程事件

  线程队列

  线程池

  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("主线程/主进程执行完毕")
threading的一些其他方法

相关文章: