首页 > 其他分享 >multiprocessing

multiprocessing

时间:2023-06-16 17:44:08浏览次数:39  
标签:chunksize 阻塞 callback 参数 func multiprocessing iterable

Process Pools

1. apply (func[, args[, kwds]])

  • 只能执行1次(只能输入一次参数)
  • 支持多个参数(参数统一为元祖类型)
  • 阻塞(只能等待这行代码执行完,才会执行下面的代码)
  • 返回结果为函数执行结果

2. apply_async (func[, args[, kwds[, callback[, error_callback]]]])

  • 异步,不阻塞(子进程先跑着,会接着执行主进程代码)
  • 返回结果为 AsyncResult, 可查看结果有没有准备好,使用.get()获取结果

3. map (func, iterable[, chunksize])

  • 可多次函数(迭代参数)
  • 目标函数只支持 单参数 输入
  • 阻塞
  • 返回结果为list,顺序与输入的参数迭代器的顺序一致

4. map_async (func, iterable[, chunksize[, callback[, error_callback]]])

  • 异步,不阻塞
  • 返回结果为 AsyncResult

5. imap(func, iterable[, chunksize])

  • 异步,不阻塞
  • 输出为迭代器,不是list,顺序和输入参数一致

6. imap_unordered (func, iterable[, chunksize])

  • 输出为迭代器,乱序

7. starmap (func, iterable[, chunksize])

  • 支持目标函数为多参数:Demo iterable: [(1,2), (3, 4)]

8. starmap_async (func, iterable[, chunksize[, callback[, error_callback]]])

  • 异步,不阻塞

标签:chunksize,阻塞,callback,参数,func,multiprocessing,iterable
From: https://www.cnblogs.com/shendaw/p/17486156.html

相关文章

  • Python使用multiprocessing实现一个最简单的分布式作业调度系统
    介绍Python的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器上。一个服务进程可以作为调度者,将任务分布到其他多个机器的多个进程中,依靠网络通信。想到这,就在想是不是可以使用此模块来实现一个简单的作业调度系统。实现Job首先创建一个Job类,为......
  • 基于multiprocessing map实现python并行化(全局变量共享 map机制实用向分析 常见问题 p
    转载:(15条消息)基于multiprocessingmap实现python并行化(全局变量共享map机制实用向分析常见问题pandas存储数据)_goto_past的博客-CSDN博客基于multiprocessingmap实现python并行化之前从来没考虑python可以并行化,最近有一个项目需要计算100*100次的遗传算法适应度,每次计算......
  • Python多进程运行——Multiprocessing基础教程2
    转载:Python多进程运行——Multiprocessing基础教程2-知乎(zhihu.com)1数据共享在多进程处理中,所有新创建的进程都会有这两个特点:独立运行,有自己的内存空间。我们来举个例子展示一下:importmultiprocessing#emptylistwithglobalscoperesult=[]defsquare_l......
  • python 进程池multiprocessing.Pool
    转载:python进程池multiprocessing.Pool(44)-知乎(zhihu.com)python进程池Pool和前面讲解的python线程池类似,虽然使用多进程能提高效率,但是进程的创建会消耗大量的计算机资源(进程Process的创建远远大于线程Thread创建占用的资源),线程是计算机最小的运行单位,连线程都需要使用线程......
  • 进程,multiprocessing模块
    整个系统进行资源分配调度的最小单位指正在执行的程序程序执行过程中一次指令,也可以交程序的一次执行过程进程是一种动态概念进程由三大部分组成代码段数据段PCB进程管理控制进程的三大基本状态就绪状态已获得运行需要的所有资源除了CPU执行状态已获得运行需......
  • 2020-07-30-python-multithreading&multiprocessing
    注:参考Python多线程多进程那些事儿看这篇就够了~~进程、线程进程和线程简单举例:对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程。有些进程还不止同时干一件事,比如Word,它可以同时进行打字、拼写检查、打印等事情。在一个进程内部,要......
  • [BUG]multiprocessing/connection.py OSError:AF_UNIX path too long EOFError
       解决方法,当前代码的路径太长了,把路径变得短一些就可以了......
  • DDP运行报错(单卡无错):ERROR:torch.distributed.elastic.multiprocessing.api:failed (e
    使用DDP时出现错误,但是单卡跑无错误。错误记录如下:RuntimeError:Expectedtohavefinishedreductionintheprioriterationbeforestartinganewone.Thiserrorindicatesthatyourmodulehasparametersthatwerenotusedinproducingloss.Youcanenableunu......
  • (三)python多进程multiprocessing模块的变量传递问题:父进程中的numpy.array对象隐式序列
    参考:https://docs.python.org/zh-cn/3/library/multiprocessing.htmlcloudpickle——Python分布式序列化的专用模块python多进程multiprocessing模块的变量传递问题:父进程中的numpy.array对象隐式序列化到子进程后的inplace操作的问题-Death_Knight-博客园(cnblogs.com)......
  • multiprocessing和tqdm配合使用(多进程下载文件进度条显示)
    代码importmultiprocessingasmpimportplatformfromtqdmimporttqdmimportwgetls=['url1','url2','url3']#这里填入实际要下载的urlpbar=tqdm(total=len(ls))pbar.set_description('Sleep')update=lambda*args:pbar.......