多线程编程提高性能的原理??

2024-12-27 14:09:30
推荐回答(1个)
回答1:

1.一部分用户界面(UI)程序(如Windows窗口程序)是以用户操作驱动的,程序的主线程必须不间断地地等待和响应用户操作,也就是说不是在等待用户输入就是在处理用户输入。这时如果有个运算需要长时间持续执行,假如让主线程执行它,执行时间内就无法响应用户操作。可以为它创建一个独立的线程,它独立工作,不受用户操作影响,而主线程也能继续快速响应用户操作;
2.服务器需要并行处理多个客户端输入;
3.大规模运算通过同时占用多个CPU核心提高运算速度;
4.程序有运算,同时还需要与一个或多个IO较慢的输入输出设备进行数据交换。
打个比方,有些复杂的、系统性的任务就象是人体一样,需要并行的做许多工作,例如,人需要同时呼吸,血液循环,消化食物,而不是先呼吸,然后血液循环,再消化食物。这样的程序就需要用多线程,以有效的使用处理器和用户的时间。