首先要关注电脑配置是否是多核多CPU的。
因为一个CPU在同一时刻只能运行一个线程,但是多个CPU在同一时刻就可以运行多个线程。
多线程的优点:
1、可以同时完成多个任务;
2、可以使程序的响应速度更快;
3、可以让占用大量处理时间的任务或当前没有进行处理的任务定期将处理时间让给别的任务;
4、可以随时停止任务;
5、可以设置每个任务的优先级以优化程序性能。
不利方面:
(1)线程也是程序,所以线程需要占用内存,线程越多,占用内存也越多。
(2)多线程需要协调和管理,所以需要占用CPU时间以便跟踪线程。
(3)线程之间对共享资源的访问会相互影响,必须解决争用共享资源的问题。
(4)线程太多会导致控制太复杂,最终可能造成很多程序缺陷。
当线程之间争夺CPU时间时,CPU按照线程的优先级给予服务。
高优先级的线程可以完全阻止低优先级的线程执行。
.NET为线程设置了Priority属性来定义线程执行的优先级别,里面包含5个选项,其中Normal是默认值。
Highest->AboveNormal->Normal->BelowNormal->Lowest
除非系统有特殊要求,否则不应该随便设置线程的优先级别。
Thread 中包括了多个方法来控制线程的创建、挂起、停止、销毁。