多线程、异步导致的时序逻辑Bug

在实际开发程序的过程中,经常会遇到一些由于时序的先后顺序,导致产生一些奇奇怪怪的问题,很多是由于多线程、异步等导致的时序逻辑Bug, 比如:消息A先到达,消息B后到达,消息A处理完成后,再处理消息B,程序就正常运行(即达到我们我们预想的结果);然而如果消息A没有处理完,就开始处理消息B,程序可能会出现我们不期望的结果。

      为了避免上面问题的出现,我们可以采取将同一类消息按先后到达顺序放在同一个队列中,然后有同一个线程来处理,这样就能保证按照时序处理。
 

进程、线程、协程、并发、并行、串行、unity的协程全程讲解------------知识点6_D_R的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/qq_42672770/article/details/123417007