# 多线程标准代码

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
# 第二种
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

# 使用线程池

# 导入线程池
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