调试多线程程序有啥tips或者经验?

水一记.跟调单线程程序一样的.还是先找到复现的方式,然后慢慢调.线程不要开太多,先从少了来. 这样也好设断点,然后挨个线程进去看.有时候也可以加代码,特定条件sleep一会,以错开使用资源的时机来验证某些问题,很好用的.
■网友
不要用断点调试,断点调试的结果往往是不对的。
【调试多线程程序有啥tips或者经验?】 同样不要期望通过调试验证数据的一致性,线程的执行顺序是cpu决定的而不是代码。
如果可以的话还是尽量使用异步模式吧。

■网友
怎么简单怎么来,尽量使用成熟的范式,高级的原语,例如count down latch等当发现某些部分的确是瓶颈,需要使用多线程等手段提高性能时再使用,轻易不要使用lock free的数据结构。至于调试和测试,长时间多纬度高压力下的稳定性测试肯定必不可少。


    推荐阅读