多线程的变量同步

今天负责测试的同事报告说一个程序有了新问题,出现问题的时机不容易找到,出现的错误也很奇怪.在一个没有任何LIST的程序区域中出现索引超出范围的错误,而且一错就不能恢复!
经过半天的跟进,发现问题出现在入口函数参量中引用了一个全局变量,这个变量是LIST类型,因为其它原因,没有用同步的方式调用。出现这样的问题,经过思考,最后用临界区去解决。
怕系统自带的同步效果时间反应长,没办法,主要的线程时间太敏感,不能间断。有一个教训要记住:原子操作不等于一个最最简单的高级命令。

 

你可能感兴趣的:(多线程)