几个问题请教老师

来源:8-6 实现任务处理线程ProcessThread

ljk卷心菜

2020-01-21

老师好,有几个问题不是很明白为什么这么设计,想请教一下:

  1. ProcessThread类中,dismiss_flag一定要通过Event实现吗?如果只是一个布尔值的flag会有什么问题么?
  2. dismiss为什么需要被封装到stop中?如果直接使用dismiss会有什么风险吗?

谢谢老师!

写回答

1回答

咚咚呛

2020-01-21

  1. 这个问题挺好的,这里可以不使用Event来实现,毕竟这个状态不需要严格的多线程同步,不过这里使用的Event可以防止读写者问题,Event在别的场景可以发挥更大的用处,通过这里可以让大家接触到Event的用法。

  2. 没有风险,主要是因为dismiss从语义上不是很好理解,更加偏向于技术层面的语义,所以对于调用者来说,封装一个stop对外提供接口会更好一些。

0
1
ljk卷心菜
非常感谢!
2020-01-22
共1条回复

(新版)计算机基础,计算机组成原理+操作系统+网络

编程之前先学这门课,系统补足计算机基础知识,夯实编程地基

7739 学习 · 1580 问题

查看课程