并发Ruby-线程池与Promises

k3fezbri  于 2023-08-04  发布在  Ruby
关注(0)|答案(1)|浏览(140)

我目前有一些代码,我从一堆URL中检索数据。目前,我正在按顺序做这件事。为了加快速度,我想同时做这件事。
为了实现这一点,我使用了concurrent-ruby gem。由于我有很多文件,我下载,我想限制线程的数量。另外,我不需要每个线程的返回值,因为我直接下载到目标目录。
我的问题是,对于这个用例,线程池比使用Promises更好吗?
Promises似乎处于更高的抽象级别,但在需要每个并发操作的返回值时非常有用。线程池(例如Concurrent::ThreadPoolExecutior是否更合适?

nkcskrwz

nkcskrwz1#

线程池比使用Promises更好吗?
看情况而定。你描述的任务很常见,Promises很适合它。同样的,没有必要使用比你的需求更低的抽象。保持冷静,使用Promise,直到你遇到麻烦。

相关问题