# 多线程标准代码
from threading import Thread
def func():
for i in range(100):
print("func", i)
if __name__ == '__main__':
t = Thread(target=func)
t.start()
for i in range(100):
print("main", i)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 第二种
class MyThread(Thread): #继承
def run(self): #重写run函数,线程被执行的时候就运行run()
for i in range(100):
print("子线程", i)
if __name__ == '__main__':
t = MyThread()
t.start() #要开启线程,而不是调用t.run()
for i in range(100):
print("main", i)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 使用线程池
# 导入线程池
from concurrent.futures import ThreadPoolExecutor
def fn(name):
for i in range(100):
print(name, i)
if __name__ == '__main__':
with ThreadPoolExecutor(50) as t:
for i in range(100):
t.submit(fn, name=f"线程{i}")
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13