几个问题请教老师
来源:8-6 实现任务处理线程ProcessThread

ljk卷心菜
2020-01-21
老师好,有几个问题不是很明白为什么这么设计,想请教一下:
- 在
ProcessThread
类中,dismiss_flag
一定要通过Event
实现吗?如果只是一个布尔值的flag会有什么问题么? dismiss
为什么需要被封装到stop
中?如果直接使用dismiss
会有什么风险吗?
谢谢老师!
写回答
1回答
-
这个问题挺好的,这里可以不使用Event来实现,毕竟这个状态不需要严格的多线程同步,不过这里使用的Event可以防止读写者问题,Event在别的场景可以发挥更大的用处,通过这里可以让大家接触到Event的用法。
没有风险,主要是因为dismiss从语义上不是很好理解,更加偏向于技术层面的语义,所以对于调用者来说,封装一个stop对外提供接口会更好一些。
012020-01-22
相似问题