4

ストレス テスト ユーティリティを作成しています。このユーティリティでは、(10,000 のうち) 10 スレッドの負荷を継続的にかける必要があります。これが私のコードです

            Stopwatch watch = new Stopwatch();
        watch.Start();

        int itemProcessed = 0;

        do
        {
            List<Task> taskList = new List<Task>();
            for (int i = 0; i < _parallelThreadCount; i++)
            {
                taskList.Add(Task.Factory.StartNew(() => _taskDelegate()));
                itemProcessed++;
            }
            Task.WaitAll(taskList.ToArray());
        } while (itemProcessed < _batchSize);

        watch.Stop();

ここでの問題は、Task.WaitAll を使用したことです。これにより、最初にロードされるスレッドは 10 スレッドになり、次に 9,8,7,6,5,4,3,2,1,0 になります。そして、再び 10 個のスレッドを追加します。

誰かがこれを達成する方法を教えてくれますか?

4

2 に答える 2