多处理时在哪里调用 join()

2023-12-12

在 Python 中使用多处理时,我通常会看到以下示例:join()函数在每个进程实际创建的单独循环中调用。

例如,这个:

processes = []

for i in range(10):
    p = Process(target=my_func)
    processes.append(p)
    p.start()

for p in processes:
    p.join()

比这个更常见的是:

processes = []

for i in range(10):
    p = Process(target=my_func)
    processes.append(p)
    p.start()
    p.join()

但从我的理解来看join(),它只是告诉脚本在该过程完成之前不要退出。因此,什么时候应该不重要join()叫做。那么为什么通常在单独的循环中调用它呢?


join()正在阻塞操作。

在第一个示例中,您启动 10 个进程,然后等待所有进程完成。所有进程同时运行。

在第二个示例中,您一次启动一个进程,并在启动另一个进程之前等待完成。同一时刻只有一个进程在运行

第一个例子:

def wait()
    time.sleep(1)

# You start 10 processes
for i in range(10):
    p = Process(target=wait)
    processes.append(p)
    p.start()

# One second after all processes can be finished you check them all and finish
for p in processes:
    p.join()

整个脚本的执行时间可能很接近一秒.

第二个例子:

for i in range(10):
    p = Process(target=wait) # Here you start one process 
    processes.append(p)
    p.start()
    p.join() # Here you will have to wait one second before process finished.

整个脚本的执行时间可能很接近10秒!.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多处理时在哪里调用 join() 的相关文章

  • 如何访问pandas数据框中的多级索引?

    我想用相同的索引来调用这些行 这是示例数据框 arrays np array bar bar baz baz foo foo qux qux np array one two one two one two one two df pd Da
  • 将 pandas 数据框中的列减去其第一个值

    我需要将 pandas 数据帧的一列中的所有元素减去其第一个值 在这段代码中 pandas 抱怨 self inferred type 我猜这是循环引用 df Time df Time df Time 0 在这段代码中 pandas 抱怨为
  • Matplotlib 标准化颜色条 (Python)

    我正在尝试使用 matplotlib 当然还有 numpy 绘制轮廓图 它有效 它绘制了它应该绘制的内容 但不幸的是我无法设置颜色条范围 问题是我有很多图 并且需要所有图都具有相同的颜色条 相同的最小值和最大值 相同的颜色 我复制并粘贴了在
  • 替换字符串列表中的 \x00 的最佳方法?

    我有一个来自已解析 PE 文件的值列表 其中包括 x00每个部分末尾的空字节 我希望能够删除 x00字符串中的字节而不删除所有字节 x 文件中的 s 我试过做 replace and re sub 但并没有取得太大成功 使用Python 2
  • 使用 Django 的 post_save() 信号

    我有两张桌子 class Advertisement models Model created at models DateTimeField auto now add True author email models EmailField
  • 如何更改充当按钮的范围的文本

    我正在为自定义 Web 应用程序编写自动化测试 我遇到了无法更改跨度文本的问题 我尝试过使用 driver execute script 但没有运气 如果我更好地了解 javascript 这确实会有帮助 据我所知 您无法单击跨度 并且列表
  • 获取单个方程的脚本

    在文本文件中输入 a 2 8 b 3 9 c 4 8 d 5 9 e a b f c d g 0 6 h 1 7 i e g j f h output i j 期望的输出 输出 2 8 3 9 0 6 4 8 5 9 1 7 如果输入文件名
  • Python 中 genfromtxt() 的可变列数?

    我有一个 txt具有不同长度的行的文件 每一行都是代表一条轨迹的一系列点 由于每条轨迹都有自己的长度 因此各行的长度都不同 也就是说 列数从一行到另一行不同 据我所知 genfromtxt Python 中的模块要求列数相同 gt gt g
  • Sorted(key=lambda: ...) 背后的语法[重复]

    这个问题在这里已经有答案了 我不太明白背后的语法sorted 争论 key lambda variable variable 0 Isn t lambda随意的 为什么是variable在看起来像的内容中陈述了两次dict 我认为这里的所有
  • 在 python-docx 中搜索和替换

    我有一个包含以下字符串的文档 模板 你好 我的名字是鲍勃 鲍勃是一个很好的名字 我想使用 python docx 打开此文档并使用 查找和替换 方法 如果存在 来更改每个字符串 Bob gt Mark 最后 我想生成一个新文档 其中包含字符
  • python ttk treeview:如何选择并设置焦点在一行上?

    我有一个 ttk Treeview 小部件 其中包含一些数据行 如何设置焦点并选择 突出显示 指定项目 tree focus set 什么也没做 tree selection set 0 抱怨 尽管小部件明显填充了超过零个项目 但未找到项目
  • 字典的嵌套列表

    我正在尝试创建dict通过嵌套list groups Group1 A B Group2 C D L y x 0 for y in x if y x 0 for x in groups d k v for d in L for k v in
  • Python int 太大,无法放入 SQLite

    我收到错误 OverflowError Python int 太大 无法转换为 SQLite INTEGER 来自以下代码块 该文件约25GB 因此必须分部分读取 length 6128765 Works on partitions of
  • 如何逐像素绘制正方形(Python,PIL)

    在空白画布上 我想使用 Pillow 逐像素绘制一个正方形 我尝试使用 img putpixel 30 60 155 155 55 绘制一个像素 但它没有执行任何操作 from PIL import Image def newImg img
  • python中的sys.stdin.fileno()是什么

    如果这是非常基本的或之前已经问过的 我很抱歉 我用谷歌搜索但找不到简单且令人满意的解释 我想知道什么sys stdin fileno is 我在代码中看到了它 但不明白它的作用 这是实际的代码块 fileno sys stdin filen
  • 使用 Doc2vec 后如何解释 Clusters 结果?

    我正在使用 doc2vec 将关注者的前 100 条推文转换为矢量表示形式 例如 v1 v100 之后 我使用向量表示来进行 K 均值聚类 model Doc2Vec documents t size 100 alpha 035 windo
  • 如何对字符串列表进行排序?

    在 Python 中创建按字母顺序排序的列表的最佳方法是什么 基本回答 mylist b C A mylist sort 这会修改您的原始列表 即就地排序 要获取列表的排序副本而不更改原始列表 请使用sorted http docs pyt
  • 使用 Keras 和 fit_generator 绘制 TensorBoard 分布和直方图

    我正在使用 Keras 使用 fit generator 函数训练 CNN 这似乎是一个已知问题 https github com fchollet keras issues 3358TensorBoard 在此设置中不显示直方图和分布 有
  • 从时间序列生成日期特征

    我有一个数据框 其中包含如下列 Date temp data holiday day 01 01 2000 10000 0 1 02 01 2000 0 1 2 03 01 2000 2000 0 3 30 01 2000 200 0 30
  • 如何在SqlAlchemy中执行“左外连接”

    我需要执行这个查询 select field11 field12 from Table 1 t1 left outer join Table 2 t2 ON t2 tbl1 id t1 tbl1 id where t2 tbl2 id is

随机推荐

  • 如何动态更改 UIStoryboard 中使用的颜色

    我想知道是否可以在故 事板中分配 动态 颜色 从iOS7开始 您可以使用tintColor并通过keyWindow的tintColor以编程方式更改它 但我找不到一种方法来影响按钮背景的色调颜色 这可以让我轻松地找到一种方法来主题我的应用程
  • 处理多种类型的 Cosmos DB 容器的读取?

    我想在单个 Cosmos DB 容器中存储几种不同的对象类型 因为它们都按逻辑分组 并且可以按时间戳一起读取 以避免额外的 HTTP 调用 但是 Cosmos DB 客户端 API 似乎没有提供一种简单的方法来执行多种类型的读取 到目前为止
  • tsql 字符串与 select 和 order by 的连接不能与 order by 子句中的函数一起使用?

    考虑下面的sql create function dbo wtfunc s varchar 50 returns varchar 10 begin return left s 2 end GO select t into test from
  • 解释 C 预处理器代码

    Given define LOG OBJECT object NSLog object d object description NSString stringWithUTF8String FILE lastPathComponent LI
  • 用户目前在哪个国家?

    我在 stackoverflow 和 Google Groups 上浏览了一下 但还没有真正找到这个确切问题的答案 我只是想知道什么countryAndroid 手机的用户当前处于 我假设如果用户仅使用 wifi TelephonyMana
  • 代理不适用于生产中的 create-react-app

    我正在使用reactjs 创建反应应用程序 创建仪表板应用程序 在我的应用程序中 我正在调用多个主机 为此 我在 package json 中配置了多个代理以避免 CORS ex www app demo1 com www app demo
  • Xslt - 以块的形式迭代节点

    我有一个现有的 xslt 脚本 它使用 FOP 创建 PDF 问题是当节点计数超过一定限制时 在特定节点类型上执行 apply template 时内存不足 为了解决内存问题 我需要将从该模板调用得出的结果分解为几个
  • 将形状不等的数组列表转换为 Tensorflow 2 数据集:ValueError:无法将非矩形 Python 序列转换为 Tensor

    我以列表的形式标记了数据形状不均 arrays array array 1179 6 208 2 1625 92 9 3870 3 2136 435 5 2453 2180 44 1 226 166 3 4409 49 6728 10 17
  • 识别字符串中是否存在 URL

    您好 有人可以帮我使用 PHP 识别字符串中是否存在 url 吗 我想输入完整的字符串 即 嗨 请访问http domain com 12345今天 并删除完整的 url 而不仅仅是域名 Thanks 你可能想要这样的东西 RegEx Gu
  • 是否有理由在 JavaScript 条件中编写“if (myBoolean == true)”?

    许多初学者程序员会写类似的东西if myBoolean true 相对于if myBoolean 因为他们还没有意识到条件不需要包含比较 而只需包含布尔值 当我在 Twitter 上注意到这一点时 有人向我建议 在 JavaScript 中
  • 防止从 iCloud 中的应用程序备份

    The way apple storage guidelines is creating more problem for me because most of the data i am maintaining from the Docu
  • PHP递归获取字符串的所有可能性

    这是我获得所有可能性的代码 seq 1 d seq 2 f seq 3 w seq 4 s for i 1 i lt 5 i s length 1 seq i c1 for i2 i 1 i2 lt 5 i2 s length 2 seq
  • VB.NET 图片框之间的碰撞

    我正在尝试制作一个简单的游戏 我需要知道 picturebox1 我的角色 是否与其他 picturebox 墙壁 发生碰撞 我已经弄清楚了如何做到这一点 但它仅适用于我的角色和其他 1 个图片框 例如 If picturebox1 bou
  • 在模态中将 Jquery 变量传递给 php

    我正在打印图片和姓名 在网格视图中 用户将能够单击图片或名称 这将打开一个模式 其中包含所单击的图片 名称的标题 将相同
  • javascript/jQuery setInterval/clearInterval

    我正在使用 setInterval 来检查 p html 段落 是否具有特定的文本值 如果有的话我想清除间隔并继续代码流 我在 jQuery 插件中使用它 所以如果段落有 tat 文本值 我想清除间隔 然后继续使用回调函数 所以我尝试了这样
  • 如何在 DB2 中查找表的主键的名称和值

    如何找到表的主键列名和值 我尝试在 SYSCAT 表中查找 但找不到任何相关内容 这应该为您提供大型机上所需的内容 http publibz boulder ibm com cgi bin bookmgr OS390 BOOKS DSNSQ
  • 扩展 woocommerce Rest api

    我想扩展 woocommerce Rest api 以包含其 预订 扩展插件的数据 目前此扩展没有其余 api 提供的默认端点 到目前为止 我已经创建了一个插件 并添加了以下代码 add filter woocommerce rest pr
  • 获取 Recycler View 上单击的项目的位置

    我已经实施了RecyclerView而且效果很好 我有一个ArrayList其中包含回收器视图的数据 每个项目的布局都很复杂 它包含两个frameLayout Framelayout1 包含一个图像和一个文本 framelayout2 包含
  • 不允许使用 HTTP 动词 POST 来访问路径“/”

    整个错误 Server Error in Application The HTTP verb POST used to access path is not allowed Description An unhandled exceptio
  • 多处理时在哪里调用 join()

    在 Python 中使用多处理时 我通常会看到以下示例 join 函数在每个进程实际创建的单独循环中调用 例如 这个 processes for i in range 10 p Process target my func processe