对于未加锁的多线程共享资源并发访问程序,在某些计算机上不容易再现错误,请问:怎么改进程序能够容易看到错误的执行结果?加锁以后的多线程共享资源并发访问程序执行时出现过计算结果错误吗?
第一个问题比较容易:在未加锁的情况,一般来说,可以通过增加并发访问的线程数来提高错误发生的几率。第二个问题:在底层实现来看,加锁之后一般不会出现计算结果错误,多出现死锁情况。