关于多线程调试的一个坑

今天需要写一个多线程处理的程序,具体逻辑不说了,基本的调用逻辑是主线程中启动子线程,子线程完成一个比较耗时的数据处理操作。可是在本地单元测试时,代码已进入子线程,刚刚执行几行代码就闪退了,连一个错误异常都没有。奇怪、反复调试,也没有找到原因。各种怀疑,各种代码验证,折腾了好一阵。愤懑中发现一个规律,如果单步调试执行的快一些,代码就能多执行几行,md,突然间想到了在以前好像也碰到过这个问题,就是测试环境中,主线程停止后服务就停止了,所以就闪退了,根本就不是代码的问题。

也许是很长时间没写线程相关的程序了,这么一个曾经遇到的坑给忘了,浪费了半天时间。

猜你喜欢

转载自blog.csdn.net/weichao9999/article/details/89714332
今日推荐