python 之 Threading 模块
threading.Thread 模块学习,记录在此处备查。
1、知识点
-
使用threading.Thread类创建Thread实例,传递给它一个函数及函数所需参数。
t = threading.Thread(target=func, args=(args))
-
执行线程
t.start()
-
其它Thread对象方法:
属性 说明 run() 定义线程功能的方法 join() 线程阻塞 getName()/setName(name) 获取/设置线程名 isAlive() 线程是否存活 isDaemon() 是否为守护线程,True-守护线程
2、示例
import threading
import sys
import random
from time import sleep, ctime
TD_NUMS = 2 #创建线程数
def func(idx):
func_name = sys._getframe().f_code.co_name
time_sleep = random.randint(1, 5)
print("[{}] {}_{} start run.".format(ctime(), func_name, idx))
sleep(time_sleep)
print("[{}] {}_{} sleep[{}]s, stop run.".format(ctime(), func_name, idx, time_sleep))
def td_test():
threads = []
for ii in range(TD_NUMS):
t = threading.Thread(target=func, args=(ii,))
threads.append(t)
for td in threads:
td.start()
if __name__ == "__main__":
td_test()
执行结果: