【操作系统】- 线程

问题???

——你能够同时使用两只手,一只画圆,一只画方吗?

【操作系统】- 线程

你认为计算机可以实现同时画圆和画方吗???

——在程序中若直接调用“画圆函数” 和 ”画方函数“ ,无论先调用谁,都无法让它们实现并行运行。
【操作系统】- 线程

线程(Thread)

  • 线程是可由CPU直接运行的实体
  • 一个进程可以创建多个线程
  • 多个线程共享CPU可以实现并发运行

利用线程技术实现并发”画圆“和”画方“,利用函数CreateThread() 创建线程

【操作系统】- 线程
单线程程序
——整个进程只有一个线程。Windows程序缺省只有一个线程(主线程,main线程)
多线程程序
——整个进程至少有2个线程。主线程和至少1个用户线程。

生活中线程的例子

——暴风影音(在线看电影)

【操作系统】- 线程

—— 微软Windows的“文件拷贝程序”是多线程程序。中途可取消拷贝过程。

【操作系统】- 线程

综上,线程技术典型适用场景

  • 多个功能需要并发的地方
  • 需要改善窗口交互性的地方
  • 需要改善程序结构的地方
  • 多核CPU上的应用,充分发挥多核性能

使用线程的麻烦

【操作系统】- 线程