举个线程不安全的例子?



当有1000个线程同时执行i++操作时,i变量的副本拷贝到每个线程的线程栈,当同时有两个线程以上的线程读取线程变量,比如此时是5,那么同时执行i++操作,再写入到全局变量,最后,两个线程跑完了,这个i还是6,而并不会是7,所以,出现不安全性。

一个线程对共享数据的写操作是分两步的,1.读到线程栈。2.写入变量。另一个写线程,再这两步之间插一脚。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM