当前位置: 首页 > news >正文

国务院办公厅关于网站建设要求推广普通话手抄报句子

国务院办公厅关于网站建设要求,推广普通话手抄报句子,建工教育培训机构,网站栏目页优化一、介绍 多进程是指在同一程序中创建多个独立的进程来执行任务。每个进程都有自己独立的内存空间,相互之间不干扰。 因为GIL锁的存在,对于CPU密集型任务(例如计算密集型操作),使用多进程可以提高程序的效率。 优点&am…

一、介绍
多进程是指在同一程序中创建多个独立的进程来执行任务。每个进程都有自己独立的内存空间,相互之间不干扰。
因为GIL锁的存在,对于CPU密集型任务(例如计算密集型操作),使用多进程可以提高程序的效率。
优点:
1.可以利用多核CPU,提高计算效率。
2.每个进程独立运行,安全性高。

二、使用
Python提供了multiprocessing模块来实现多进程。
注意:
1.multiprocessing.Process 用于创建进程。target参数指定了进程要执行的函数,args参数传递给该函数的参数。
2.使用 start()方法启动进程。
3.join()方法使主进程等待子进程完成。

import multiprocessing 
import time def worker(name):print(f"Worker { name} starting")time. sleep(2)print(f"Worker { name} finished")if __name__ == '__main__':processes -[]for i in range(5):p = multiprocessing. Process(target=worker, args=(i,))processes. append(p) p. start()for p in processes: p. join()print("A11 workers finished")
Worker 0 starting
Worker 1 starting
Worker 2 starting
Worker 3 starting
Worker 4 starting
Worker 0 finished
Worker 1 finished
Worker 2 finished
Worker 3 finished
worker 4 finished
All workers finished

三、进程池
进程池是一种预先创建的一组工作进程,这些进程可以重复使用来执行多个任务。通过进程池,可以避免频繁创建和销毁进程的开销,从而提高效率。
4.1 进程池的使用
Python的 multiprocessing 模块提供了Pool类来实现进程池。

from multiprocessing import Pool 
import time def worker(num):print(f"Worker { num} starting")time. sleep(2)print(f"Worker { num} finished") return num * num if __name__ == 'main': with Pool(processes-4) as pool: results = pool.map(worker, range(10))print("Results:", results)

1.创建进程池:使用 Pool(processes=4)创建一个包含4个进程的进程池。
2.提交任务:pool.map(worker,range(10))将 worker函数应用到 range(10)中的每一个元素,并将任务分配给进程池中的进程去执行。
3.获取结果:map方法会阻塞主进程,直到所有任务完成,并返回结果列表。

Worker 0 starting 
Worker 1 starting
Worker 0 finished
Worker 1 finished 
Worker 2 starting 
Worker 3 starting
Worker 2 finished
Worker 4 starting 
Worker 3 finished 
Worker 4 finished 
Results:[0,1,4, 9,16]

4.2 常用方法
apply和apply_async:
apply(func,args):同步执行,类似于普通函数调用,阻塞主进程直到任务完成。
apply_async(func,args):异步执行,不阻塞主进程,通过回调函数获取结果。

from multiprocessing import Pool def worker(num):return num*num def print result(result):print("Result:",result)if __name__ == 'main':with Pool(processes=4as pool:#同步等待结果result = pool.apply(worker,(10,))print("Synchronous Result:",result)#异步等待结果pool.apply_async(worker,(20,),callback=print_result)pool.close()pool.join()

map和 map_async:
使用该方法传参数时,将iterable的每个元素作为参数,相当于一次提交多个任务。
map(func,iterable):同步映射,阻塞主进程直到所有任务完成,返回结果列表。
map_async(func,iterable):异步映射,不阻塞主进程,通过回调函数获取结果。

from multiprocessing import Pool def worker(num): return num * num def print result(results): print("Results:", results) if __name__ == 'main': with Pool(processes=4) as pool:#同步results = pool.map(worker, range(10)) print("Synchronous Results:", results) # 异步pool.map async(worker, range(10), callback=print_result)pool. close()pool.join()

starmap 和 starmap_async :
starmap(func, iterable_of_tuples):类似于map,但可以传递多个参数。
starmap_async(func, iterable_of_tuples): 异步版本的 starmap

from multiprocessing import Pool def worker(x, y):return x * y
def print_result(results): print("Results:", results) if __name__ == 'main':with Pool(processes=4) as pool:#同步results = pool.starmap(worker, [(1, 2), (3, 4), (5, 6)])print("Synchronous Results:", results)#异步pool.starmap_async(worker, [(1, 2), (3, 4), (5, 6)], callback=print_result) pool.close()pool.join()

先试用pool.close()关闭进程池,防止更多的任务提交到该池,才可以执行pool.join()阻塞主进程,等待所有子进程完成。

http://www.r43.cn/news/729.html

相关文章:

  • 支付宝 wordpress 插件优化网站有哪些方法
  • wordpress调用文章排序seo综合诊断工具
  • 网站建设验收标准佛山市人民政府门户网站
  • 深圳营销型网站建设信息流优化师面试常见问题
  • 南昌手机网站制作seo排名工具
  • 教育机构网站制作模板百度竞价排名规则
  • 做二手货车都做什么网站雏鸟app网站推广
  • 做网站需要用到什么网络推广方法技巧
  • 工地招聘网站福州百度seo排名
  • 做旅游网站图片哪里找企业培训机构排名前十
  • 网站备案 哪个省网络营销建议
  • 胶南网站制作网站关键字排名优化
  • 电子商务官方网站建设武汉关键词排名工具
  • 网站建设概推广排名seo
  • 手机网站页面设计免费发软文的网站
  • 网站用什么构建google框架一键安装
  • 专业app网站建设哪家好搜索竞价
  • wordpress微信网站模板今日头条最新消息
  • 做网站招聘的职业顾问朋友圈广告怎么投放
  • 做旅游网站的产品经理如何谷歌seo是指什么意思
  • 做网站的图片的内存杭州网站定制
  • wordpress 不能登录郑州网站seo优化公司
  • wordpress为展示的作品投票六年级上册数学优化设计答案
  • 苏州中设建设集团有限公司网站域名网
  • 香港特别行政区政府旺道seo网站优化大师
  • 佛山网站外包永久免费建站系统
  • 用网站做邮箱吗网络营销推广实战宝典
  • 网站建设咨询服务合同个人能接广告联盟吗
  • 手机网站制作机构郑州专业的网站公司
  • wordpress下载最新版本seo首页关键词优化