是否有用于工作线程的Pool类,类似于多处理模块的Pool类?

我喜欢例如并行化地图功能的简单方法

def long_running_func(p):
    c_func_no_gil(p)

p = multiprocessing.Pool(4)
xs = p.map(long_running_func, range(100))

但是,我希望这样做而不会产生新流程的开销。

我知道GIL。但是,在我的用例中,该函数将是IO绑定的C函数,python包装程序将在实际函数调用之前为其释放GIL。

我必须编写自己的线程池吗?

转载请注明出处:http://www.zhongtian365.com/article/20230508/863526.html

随机推荐

  1. 线程池速度慢,与串行线程的速度相同

    我正在尝试加速大量实时目标检测的计算,并在此基础上进行计算。我使用带有线程池和生产者、消费者的OpenCV来捕获视频。但是执行速度和串行的是一样的。我如何提高执行的速度?if __name__ == __main__: video_...

  2. 线程池ThreadPoolExecutor的一种扩展办法

    概述 在JAVA的世界里,如果想并行的执行一些任务,可以使用ThreadPoolExecutor。大部分情况下直接使用ThreadPoolExecutor就可以满足要求了,但是在某些场景下,比如瞬时大流量的,为了提高响应和吞吐量,最好...

  3. 线程池小结(JDK8)

    1、线程池的好处 降低资源消耗(重复利用已创建的线程减少创建和销毁线程的开销) 提高响应速度(无须创建线程) 提高线程的可管理性 2、相关类图 JDK5以后将工作单元和执行机制分离开来,工作单元包括Runnable和Callable;...

  4. 池大小的值为Spring @的线程池不能正常运行

    我有一个线程池,池大小的输入是使用spring中的@值传递的,该值的引用位于.properties文件中。如下图所示:@Value(${project.threadPoolSize}) private static int threadPo...

  5. 线程池的极简用法——内置线程池multiprocessing

    大家好,今天博主来分享一个线程池的小捷径——内置线程池的使用方法 一、背景   说道多线程,对变成层有了解的小伙伴一定不陌生,虽然不知道是什么但是也会从各大网站、面试分享等途径听说过。这里就不做过多的介绍了,简单来讲,多线程就是让人同时看...

  6. 线程池底层原理详解与源码分析(补充部分---ScheduledThreadPoolExecutor类分析)

    【1】前言   本篇幅是对线程池底层原理详解与源码分析 的补充,默认你已经看完了上一篇对ThreadPoolExecutor类有了足够的了解。 【2】ScheduledThreadPoolExecutor的介绍   1.Schedule...

  7. 线程池大小估算

    转载自https://www.cnblogs.com/atomicbomb/p/7692770.html # 答案:N核服务器,通过日志分析出任务执行过程中,本地计算时间为x,等待时间(网络传输,rpc等待等)为y,则工作线程数(线程池...

  8. 线程池如何观测?这个方案让你对线程池的运行情况了如指掌!

    今天我们来聊一个比较实用的话题,动态可监控可观测的线程池实践。 这是个全新的开源项目,作者提供了一种非常好的思路解决了线程池的可观测问题。 这个开源项目叫:DynamicTp 地址在文章末尾。 写在前面 稍微有些Java编程经验的小伙...

  9. 对象池-线程池-连接池原理

    一、设计与原理 1、基础案例 首先看一个基于common-pool2对象池组件的应用案例,主要有工厂类、对象池、对象三个核心角色,以及池化对象的使用流程: import org.apache.commons.pool2.BasePoole...

  10. 线程池之Executor

    使用线程池的好处 池化技术相比大家已经屡见不鲜了,线程池、数据库连接池、Http 连接池等等都是对这个思想的应用。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。 线程池提供了一种限制和管理资源(包括执行一个任务)...