问题标签 [concurrent.futures]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
201 浏览

scala - 未来地图的(等待)执行上下文。使用 FixedThreadPool 停止执行

每个doServiceStuff(name:String)需要 5 秒。doServiceStuff 没有隐式 ex:Execution 上下文作为参数,它在内部使用自己的 ex 上下文并Future {blocking { .. }}对其执行。

最后程序打印:

如果我将 1000 更改为10000,添加更多任务:val ss = (1 to 10000)然后程序停止:

将打印约 17 027 行(共 20 000 行)。不会打印“错误”消息。不会打印“接受”消息

**并且不会再处理任何事情。

但是,如果我将 exContext 更改为ExecutionContext.fromExecutor(null: Executor)(global one),那么 in 会在大约 10 秒内结束(但通常不会)。

这就是问题所在:为什么使用固定的前上下文池它会在没有消息传递的情况下停止,但对于全局前上下文它会终止但有错误和消息传递?

有时..它是不可重现的。

更新:我确实看到了"ERROR""took"如果我将池从 1 增加到 N。不管 N 有多高 - 它仍然会是错误。

代码在这里:https ://github.com/Sergey80/scala-samples/tree/master/src/main/scala/concurrency/apptmpl

在这里,doManagerStuff2()

0 投票
1 回答
840 浏览

python - 将 concurrent.futures 与龙卷风事件循环一起使用?

如何偶尔在 Tornado 应用程序中使用线程和期货?

我的服务器偶尔需要在单独的线程或进程中运行长时间运行的任务(该任务释放 GIL。)我想使用 concurrent.futures 执行器来执行此操作

如何将这个未来集成到 Tornado 事件循环中?理想情况下,这种集成与tornado.gen协程配合得很好。我想从未来中屈服,而不是阻碍它。实现这一目标的最佳方法是什么?

理想情况下,我想从concurrent Future.

我正在寻找f使以下成为可能的功能

0 投票
2 回答
41 浏览

python - 如何在使用 Python 3 抓取的同时同时启动 5 个 url 的函数

我正在抓取一个网站以获取信息,并希望从每个页面都可用的翻译页面中获取一些信息。

所以我写了一个函数去相应的页面并获取翻译的信息。唯一的问题是我必须等待它首先是法语,然后是意大利语,然后是德语,然后是西班牙语,然后是英语......我想一次得到它们。

我在英文版上抓取网站,然后当我到达目标页面时,我想同时处理。我已经阅读了很多关于如何对刮板的整个脚本进行多处理的文章,但我只是希望它在刮的这一点上这样做,因为它是瓶颈所在。这是该部分的代码目前的样子:

如果可能,我想同时触发该函数的五个实例?可能很简单,只是还没有灯泡的时刻。

0 投票
2 回答
344 浏览

java - FutureTask.awaitDone 对 CPU 的影响

我们广泛使用 Java ThreadPoolExecutor。具体来说,我们遵循 fork join 模式,构建一个可调用列表并在它们上使用 invokeAll() 的定时变体。我们只使用这些线程池来执行 I/O(非 CPU 密集型)操作,但是查看线程转储,我们看到这些特定线程消耗大量 CPU。查看 FutureTask.awaitDone() 的实现,我可以看到通过对 LockSupport.parkNanos() 的交错调用实现了忙等待策略。查看 parkNanos 本身的 JavaDoc,我看到这条评论“可以虚假返回..”,这让我想知道 awaitDone() 是否正在旋转并进而导致 CPU 过高。任何帮助将不胜感激!

0 投票
2 回答
956 浏览

scala - 为什么 Scala Futures 一次只运行 2 个?

我正在尝试使用 Scala Futures 同时运行 50 多个任务。不幸的是,虽然我只让他们一次运行 2 个。有人能告诉我我做错了什么或如何增加并行度吗?

我得到的结果是

为什么我没有得到以下信息?

0 投票
1 回答
75 浏览

java - 未来任务完成后 Java 进程没有退出

这是我使用 Future 的代码片段。

输出:

提交所有未来任务后,我得到了结果,但程序仍然没有退出。我的光标在闪烁,直到我单击CTRL+C才退出 java 进程。问题是什么?

编辑:除非服务器关闭触发关闭挂钩,否则我无法关闭执行程序服务。

0 投票
2 回答
11454 浏览

python - 如何在 Python3 中检测 concurrent.futures 中的异常?

由于它的并发期货模块,我刚刚转向 python3。我想知道是否可以让它检测错误。我想使用并发期货来并行程序,如果有更高效的模块请告诉我。

我不喜欢多处理,因为它太复杂而且没有太多文档。但是,如果有人可以编写一个没有类的 Hello World,只有使用多处理并行计算的函数,这样它就很容易理解了,那就太好了。

这是一个简单的脚本:

上面的代码只是一个演示,说明 CTRL+C 无法打印语句。

我想要的是能够调用函数是存在错误。这种错误检测必须来自函数本身。

另一个例子

0 投票
1 回答
511 浏览

python - python中蛮力的并行计算任务

/* 这并不是因为我的学校只使用 7 个整数而造成的任何非法行为,我想看看我是否能及时让它工作,因为目前我需要 1.59 年才能破解密码。学校在现场为任何相关人员提供自己的私人服务器,并且很容易检测到。我只会在他们允许的情况下对我或我的朋友这样做。*/

我只是想使用多处理或 concurrent.futures 使这个密码破解程序在合理的时间内运行。

这是我尝试将其并行化

这实际上只有当密码在第一行时才有效,它只输出我在那里写的指标,就像print ("Got to here3")它不打印破解密码甚至将其写入文本文件一样。

0 投票
1 回答
1096 浏览

multithreading - 在 FutureTask 中包装 Callable/Runnable 有什么好处?

FutureTask 包装器在简单的 Callable/Runnables 上提供了什么?我见过一些人以这种方式使用期货,但我不确定它真正为游戏增加了什么。

0 投票
0 回答
301 浏览

python - 为什么使用 concurrent.futures 而不是多处理池?

我无法理解为什么要使用concurrent.futures模块。ProcessPoolExecutor似乎可以与进程的多处理池相媲美,同样适用于ThreadPoolExecutor与线程的multiprocessing.dummy模块(甚至是未记录的multiprocessing.pool.ThreadPool)。

例如,如果我想同时映射一些函数调用并返回一个迭代器,我可以像这样使用多处理:

或者我可以将 concurrent.futures 与 ProcessPoolExecutor 一起使用,如下所示:

似乎 concurrent.futures 提供了在异步调用完成之前取消它们的能力,但是多处理池提供了更多可以根据您的需要进行选择和定制的方法,这使得它更加灵活(据我所知)告诉)增加了很多复杂性。

我已经阅读了有关 concurrent.futures 模块的一些资源:http:
//www.developer.com/lang/other/using-the-new-python-32-concurrent-programming-features.html
http:// eli.thegreenplace.net/2013/01/16/python-paralellizing-cpu-bound-tasks-with-concurrent-futures https://gist.github.com/mangecoeur/9540178

但是我仍然看不到我可以从中获得什么,而我还没有从进程或线程池中获得什么。这个新模块有什么优势,我什么时候应该在现有池上使用它?