C#windows服务多线程CPU使用率高

时间:2016-05-20 11:43:19

标签: c# multithreading windows-services cpu-usage

我正在开发Windows服务。 我需要在程序中编写380个方法。 这是我的代码。 threadChunkList是一个包含20个线程的列表,列表中有一个线程数组。

像这样。

List<Thread[]> threadChunkList = new List<Thread[]>();

当涉及到循环执行方法时,任务管理器中的CPU使用率超过90%。

foreach (Thread[] mainthread in threadChunkList)
            {
                Thread OneFinalThread = null;

                OneFinalThread = new Thread(() =>
                {
                    foreach (Thread chunkthread in mainthread)
                    {                          
                        chunkthread.Start();                            
                    }
                    foreach (var thread in mainthread)
                    {
                        thread.Join();
                    }
                });
                OneFinalThread.Priority = ThreadPriority.Lowest;
                OneFinalThread.Start();

                for (; ; )
                {
                    if (OneFinalThread.IsAlive)
                    {
                    }
                    else
                    {
                        break;
                    }
                }
            }

任何人都可以让我知道上面代码出了什么问题。此外,我不知道它管理线程或现在的正确方法。如何在线程中使用sleep方法来减少CPU使用率以及如何从内存中删除以前的线程以清除内存?

谢谢

0 个答案:

没有答案