多线程编程:线程优先级、同步与 .NET Remoting 详解
1. 线程优先级
在应用程序中运行多个线程时,有些线程可能比其他线程更重要。这时,可以为进程内的不同线程分配不同的优先级。一般来说,如果有更高优先级的线程正在工作,低优先级线程将不会被分配时间片。
1.1 线程优先级的优势
为处理用户输入的线程分配稍高的优先级,可以保证用户交互的响应性。大多数时候,该线程可能无事可做,其他线程可以继续工作。但当用户进行操作时,该线程会立即在处理事件的短时间内优先于其他线程。
1.2 线程优先级枚举
线程优先级由 ThreadPriority
枚举定义,可能的值有:
| 优先级 | 描述 |
| ---- | ---- |
| Highest | 最高优先级 |
| AboveNormal | 高于正常优先级 |
| Normal | 正常优先级 |
| BelowNormal | 低于正常优先级 |
| Lowest | 最低优先级 |
1.3 示例代码
以下是修改 ThreadPlayaround
示例中 Main()
方法来改变线程优先级的代码:
ThreadStart workerStart = new ThreadStart(StartMethod);
Thread workerThread = new Thread(workerStart);