【操作系统】- 线程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/luckystar_99/article/details/87908660

问题???

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

在这里插入图片描述

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

——在程序中若直接调用“画圆函数” 和 ”画方函数“ ,无论先调用谁,都无法让它们实现并行运行。
在这里插入图片描述

线程(Thread)

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

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

在这里插入图片描述
单线程程序
——整个进程只有一个线程。Windows程序缺省只有一个线程(主线程,main线程)
多线程程序
——整个进程至少有2个线程。主线程和至少1个用户线程。

生活中线程的例子

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

在这里插入图片描述

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

在这里插入图片描述

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

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

使用线程的麻烦

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/luckystar_99/article/details/87908660