首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于线程优先级的有关问题

2012-09-19 
关于线程优先级的问题private void Form1_Load(object sender, EventArgs e){Thread myThread1 new Thre

关于线程优先级的问题
private void Form1_Load(object sender, EventArgs e)
  {
  Thread myThread1 = new Thread(threadOut);
  myThread1.Priority = ThreadPriority.Lowest;
   


  Thread myThread2 = new Thread(threadInput);
  myThread2.Priority = ThreadPriority.Highest;
  myThread1.Start();
   
  myThread2.Start();  

  }

  public void threadOut()
  {
  MessageBox.Show("主线程1开始运行");
  }

  public void threadInput()
  {
  MessageBox.Show("主线程2开始运行");
  }

我已经设置了2个线程的优先权,为什么每次执行结果会有差异,有的时候是“主线程1开始执行”最先执行,有时候是“主线程2开始执行”最先执行,我是新手,求解啊…………

[解决办法]
优先级较高的线程占有更多的CPU时间,并不意味着一定要先执行完优先级较高的线程,才会执行优先级较低的线程;线程的优先级跟线程执行的顺序无关
[解决办法]
优先级只是对操作系统调度线程的建议,并不能决定最终调度的结果。

热点排行