回答編集履歴
3
append
test
CHANGED
@@ -7,3 +7,19 @@
|
|
7
7
|
|
8
8
|
|
9
9
|
<del>[`Task.Delay`メソッド](https://msdn.microsoft.com/ja-jp/library/hh194873.aspx)なども検討してみてください。</del>(Delayはあんまり関係ないかも)
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
----
|
14
|
+
|
15
|
+
> 10万ものタスクを生成したらメモリを食い過ぎたりしないでしょうか?
|
16
|
+
|
17
|
+
> 100万、1000万と増えていった場合はどうなるでしょうか?
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
実際に試された通り、メモリを食いつぶす強い懸念があります。いくらスレッドに比べてタスク(Task)が軽量とはいっても、10万以上ものタスクを同時に生成するのは設計上の問題があると思います。
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
ishi9さん回答にもある通り、タスクを「同時並行に実行する上限数」は[`MaxDegreeOfParallelism`](https://msdn.microsoft.com/ja-jp/library/system.threading.tasks.paralleloptions.maxdegreeofparallelism.aspx)や[`SemaphoreSlim`](https://msdn.microsoft.com/ja-jp/library/system.threading.semaphoreslim.aspx)で制御できますが、いずれもタスク・オブジェクトの同時生成数を減らすわけではありません。
|
2
update
test
CHANGED
@@ -2,4 +2,8 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
プログラムの目的や全体設計が分からないので断定的な言い方はできませんが、(処理タイムアウトではない)一定期間の待機処理というのは「設計不良なコードの兆候」だと思います。
|
6
|
+
|
7
|
+
|
8
|
+
|
5
|
-
|
9
|
+
<del>[`Task.Delay`メソッド](https://msdn.microsoft.com/ja-jp/library/hh194873.aspx)なども検討してみてください。</del>(Delayはあんまり関係ないかも)
|
1
fix typo
test
CHANGED
@@ -2,4 +2,4 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
プログラムの目的や全体設計が分からないので断定的な言い方はできませんが、(処理タイムアウトではない)一定期間の待機処理というのは「設計不
|
5
|
+
プログラムの目的や全体設計が分からないので断定的な言い方はできませんが、(処理タイムアウトではない)一定期間の待機処理というのは「設計不良なコードの兆候」だと思います。[`Task.Delay`メソッド](https://msdn.microsoft.com/ja-jp/library/hh194873.aspx)なども検討してみてください。
|