当前位置 : 主页 > 编程语言 > python >

py 多进程,多线程,线进池

来源:互联网 收集:自由互联 发布时间:2022-06-18
多线程多进程 from threading import Thread #线程类 from multiprocessing import Process #用法和线程一样 def func(name): for i in range(1000): print(i, name) class MyThread(Thread): def run(self): for i in range(1000): # 固定的

多线程多进程

from threading import Thread #线程类
from multiprocessing import Process #用法和线程一样

def func(name):

for i in range(1000):
print(i, name)


class MyThread(Thread):

def run(self):
for i in range(1000): # 固定的写法,当被start的时候,被执行的就是run()
print(i)

if __name__ == '__main__':

t = Thread(target=func, args=("haha",)) # 创建线程,并给线程安排任务 args值必须是元组
t.start() # 多线程状态为可以开始工作状态,具体执行时间由CPU决定

t2 = MyThread() # 多线程的另一种写法
t2.start() # 开启线程

for i in range(1000):
print(i)

线进池

from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor

def fn(name):

for i in range(100):
print(name, i)

if __name__ == '__main__':

# 创建线程池 进程池也是一样的用法
with ThreadPoolExecutor(50) as f:
for i in range(100):
f.submit(fn, name="hhh")
# 等待with执行完在执行下面语句,(守护)
print("xxxx")

t = ThreadPoolExecutor(50)
for i in range(50):
t.submit(fn, name="zzz")
print("pppp")
网友评论