Java指令重排序


            指令重排的分類:編譯期重排序和運行時重排序
            在JVM編譯時期或者CPU執行JVM字節碼時期,對現有的指令進行重排序,主要目的為了優化運行速度(在不改變程序運行結果的前提下)
            
            int a = 3        //1                        
            int b = 5;        //2
            int c = a + b;    //3
            
            雖然說指令重排可以調高程序的執行效率,但是在多線程環境下運行可能會影響到結果
                解決辦法:內存屏障
                    內存屏障是一個屏障指令,使CPU對屏障指令之前和之后的內存操作結果都是一樣的,相當於一種約束


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM