【发布时间】:2013-08-19 09:36:44
【问题描述】:
在我的代码中,我有一个循环,在这个循环中,我向远程 Web 服务发送了几个请求。 WS 提供商说:“网络服务最多可以托管 n 个线程”,所以我需要限制我的代码,因为我无法发送 n+1 个线程。
如果我要发送 m 个线程,我会立即执行第一个 n 个线程,并且一旦其中一个线程完成,一个新线程(其中一个剩余的 m-n 个线程)将被执行,以此类推,直到所有 m 个线程都被执行。
我想到了Thread Pool 和explicit setting of the max thread number to n。够了吗?
【问题讨论】:
-
为什么不包装整个 for 循环,以便单个后台线程池线程执行整个循环。这样您就不必担心线程创建等。
-
您真的是该 Web 服务的唯一用户吗?不寻常。