异步定时任务的使用哲学
最近大概间隔1个月,我在使用定时任务类时遇到了两次析构过程中的 bug
这两个 bug 出现在我用别人写的定时任务类时,这两个bug的区别是一个是组合使用的,另一个是继承使用的
由于coredump的堆栈都不在正常的位置,因此这两个bug都花费了我平均一整天的大量时间去定位
另外有个基于协程的定时任务类,这个类不仅只是使用,甚至都是我实现的,尽管 bug 还未发生,我仔细看了下居然也存在类似的问题
因此,我觉得我有必要总结这个问题,避免再次在相同的问题上耗费太多时间,毕竟多线程(协程)问题的定位非常困难