回答編集履歴

2

追記

2023/03/25 06:05

投稿

TakaiY
TakaiY

スコア12763

test CHANGED
@@ -3,3 +3,9 @@
3
3
  同一ThreadPoolでまわせば改善します
4
4
  whileとwithの行を入れかえれは良いでしょう。
5
5
  ただし、現状のコードだと、いずれすべてのスレッドで時間のかかる処理をしている状態になります
6
+
7
+ ---
8
+ 元のコードをベースにすると、上の回答のようになりますが、実際にそのとおりのコードを書くと、キューに無限にタスクが積まれてしまうことになり、リソースが枯渇するなどの問題が発生すると思います。
9
+
10
+ そもそも**それらのタスクを無限ループで実行したい理由は何**ですか?
11
+ たとえばデータの定常的な取得のように、それらのタスクを並列に常時実行していたい、ということなのであれば、他の方の回答にあるとおり、定常実行の部分はタスクに含めるのが正しいと思います。

1

脱字

2023/03/25 02:55

投稿

TakaiY
TakaiY

スコア12763

test CHANGED
@@ -1,4 +1,4 @@
1
- while ループのたびにThreadPoolをつくっている形になっているのでそのような動作になり
1
+ while ループのたびにThreadPoolをつくっている形になっているのでそのような動作になります
2
2
 
3
3
  同一ThreadPoolでまわせば改善します
4
4
  whileとwithの行を入れかえれは良いでしょう。