だから私は少しのようなコードで働いている:遅いサービスに依存している場合は、プロセッサ時間を費やすのを避けるためにどうすればよいですか?
slowService.callがかかるpublic void callSlowService(List<Object> objectsToCallFor) {
objectsToCallFor
.parallelStream()
.forEach(object -> slowService.call(object))
}
〜100-500ms
を問題は、私は私が望むすべてを並列化することができ、ですが、の終わりに私はまだスレッドを500ms待っているだけです。私のCPUには他のスレッドのためにできることがあります。
私はこの他のサービスを変更することはできません(私はできません)と私は私のCPUを解放するいくつかの他のデザインがあります私はslowServiceからの応答を待っている間、
あなたがサービスにアクセスするために電話しているものが健全に書かれていれば、あなたは「プロセッサ時間を費やしていない」*ブロックしています。 – EJP
ええ、私は本当に待っているスレッドについて心配しません。スレッドは軽量(プロセスとは異なります)で、VMチョークの前に数千ものスレッドを持つことができます。 – john16384