【操作系统】- 线程
问题???
——你能够同时使用两只手,一只画圆,一只画方吗?
你认为计算机可以实现同时画圆和画方吗???
——在程序中若直接调用“画圆函数” 和 ”画方函数“ ,无论先调用谁,都无法让它们实现并行运行。
线程(Thread)
- 线程是可由CPU直接运行的实体
- 一个进程可以创建多个线程
- 多个线程共享CPU可以实现并发运行
利用线程技术实现并发”画圆“和”画方“,利用函数CreateThread() 创建线程
单线程程序
——整个进程只有一个线程。Windows程序缺省只有一个线程(主线程,main线程)
多线程程序
——整个进程至少有2个线程。主线程和至少1个用户线程。
生活中线程的例子
——暴风影音(在线看电影)
—— 微软Windows的“文件拷贝程序”是多线程程序。中途可取消拷贝过程。
综上,线程技术典型适用场景
- 多个功能需要并发的地方
- 需要改善窗口交互性的地方
- 需要改善程序结构的地方
- 多核CPU上的应用,充分发挥多核性能