一直在了解并发,之前也做过一些并发的东西,遇到了各种问题,不过在这些问题的解决过程中,
学会了很多东西。感觉并发问题的根源如下,由于cpu的执行效率高于内存的执行效率,为了保
证cpu的执行效率,允许编译器与cpu进行指令重排序,导致程序执行时并不是完全按照我们代
码的执行顺序,因此出现各种数据不一致的问题。另一个导致并发问题的方面是cpu有许多执行
单元,这些执行单元是可以并行执行的,所以,导致了并发问题的产生。
针对并发问题,解决的办法是内存屏障,这个内存屏障通过我们在语言中的同步操作进行添加。
内存屏障的分类有加载屏障、存储屏障。对应到cpu中的指令时,不同的cpu的实现不一样,根
据具体的实现而定。
不怎么写文章,希望多多指教,共同学习。