线程:
import threading
def fun():
for i in range(199):
print('子线程执行了'+str(i))
def fun2():
for i in range(100):
print('子线程2执行了')
if __name__=='__main__':
s=threading.Thread(target=fun)
s.start()
s2=threading.Thread(target=fun2)
s2.start()
for i in range(100):
print('main'+str(i))
线程类:
from threading import Thread
class Mythread(Thread):
def run(self) -> None:
for i in range(100):
print('子线程打印',i)
class Mythread2(Thread):
def run(self) -> None:
for i in range(200):
print('子线程2打印',i)
线程池:
from concurrent.futures import ThreadPoolExecutor
def fun(name):
for i in range(1000):
print(f'线程池{i}',i)
if __name__=='__main__':
with ThreadPoolExecutor(20)as t:
for i in range(100):
t.submit(fun,name=f'子线程{i}')