2009-12-19 230 views
1

如果存在高优先级的线程,我需要挂起当前线程,我该怎么做。我需要暂停该线程,并在完成之后先执行新的高优先级线程,然后恢复先前的线程。如何暂停和恢复线程?

+0

我们在讨论哪种环境,以及您想用哪种语言来实现? – 2009-12-19 11:13:58

+2

请给我们一个机会!什么编程语言,什么环境? – 2009-12-19 11:14:01

+0

我正在使用C#和在VS2008窗口应用程序 – marshalprince 2009-12-19 11:20:33

回答

2

我需要挂起当前线程 如果存在一个高优先级线程

这不是线程是如何工作的。它们应该并行运行,高优先级的线程有更多的时间 - 操作系统会自动为您执行。你不应该试图干涉这一点,特别是因为现在大多数计算机有多个内核,并且给予一个线程绝对优先级甚至不会使其执行得更快。

+0

这很好。但我想让低优先级的线程等待或暂停一次,并且高优先级的线程立即执行。所以它看起来更快 – marshalprince 2009-12-19 12:00:07

+0

不,你不需要这样做,因为它不会比正确分配优先级更好,但会使多核机器,即所有现代PC都变得更慢。 – 2009-12-19 12:12:25

+0

那么如果最高优先级的线程启动了,我想更快地执行,我不能挂起低优先级的线程? – marshalprince 2009-12-19 12:28:38