当线程多的时候就会造成CPU内存占用率过高
-
- private void button1_Click(object sender, EventArgs e)
- {
- Thread TH1, TH2, TH3, TH4, TH5;
- TH1 = new Thread(Thread1)
- {
- IsBackground = true
- };
- TH2 = new Thread(Thread2)
- {
- IsBackground = true
- };
- TH3 = new Thread(Thread3)
- {
- IsBackground = true
- };
- TH4 = new Thread(Thread4)
- {
- IsBackground = true
- };
- TH5 = new Thread(Thread5)
- {
- IsBackground = true
- };
- TH1.Start();
- TH2.Start();
- TH3.Start();
- TH4.Start();
- TH5.Start();
- }
- public void Thread1()
- {
- while (true) ;
- }
- public void Thread2()
- {
- while (true) ;
- }
- public void Thread3()
- {
- while (true) ;
- }
- public void Thread4()
- {
- while (true) ;
- }
- public void Thread5()
- {
- while (true) ;
- }
上面这段代码,CPU的占用率高
解决方法:
只要我们上每个线程岔开时间执行即可,我们在每一段循环中增加thread.sleep(1),让线程休眠等待。
- public void Thread1()
- {
- while (true)
- Thread.Sleep(1);
- }
- public void Thread2()
- {
- while (true)
- Thread.Sleep(1);
- }
- public void Thread3()
- {
- while (true)
- Thread.Sleep(1);
- }
- public void Thread4()
- {
- while (true)
- Thread.Sleep(1);
- }
- public void Thread5()
- {
- while (true)
- Thread.Sleep(1);
- }