Java多线程编程递增_java多线程编程之简介
編寫正確的程序很難,編寫正確的多線程程序更難。如果對多線程理解的不夠深入,編寫出來的程序往往跟自己的預期不一樣,甚至不知道問題出現在哪里。因此,如果想成為一個好的程序員,掌握多線程是必修的一門功課。
多線程帶來的好處:
1、發揮處理器的強大處理能力
隨著科技的進步,現在的CPU已經由單核變為雙核,甚至多核。而多線程能夠很好的利用CPU多核的處理能力來高效并發的執行程序。
2、建模的簡單性
一個很復雜的任務可以分解為很多子任務在不同的子線程中去執行,經過這樣的分解使得程序更加簡潔,錯誤更少,也更容易測試和定位問題。
3、異步處理
單線程的致命缺點就是順序執行,只有上一個步驟執行完才能開始下一個步驟,如果上一個步驟很耗時的話,則必須等待,顯然這種體驗是很不好的。最典型的例子就是GUI程序,比如按下一個按鈕,如果執行的是一個比較耗時的操作,這個時候就必須使用線程,否則整個界面就會被凍結。
java多線程是一把雙刃劍,用的好可以提升程序的執行效率,用的不好會帶來各種莫名其妙的問題,所以在使用的時候我們必須對這些問題有一個清晰的了解。
多線程帶來的風險:
1、安全性
我們知道多線程執行的順序是不確定的,如果它們共享了一個可變變量,同時有線程會去修改這個共享變量的值,那么就會出現安全性問題??聪旅孢@個計數器程序:
publicclass Counter {
private int value;
publicint getNext(){
returnvalue++;
}
}
本來這個程序設計的目的是:每次計算器都遞增,不允許出現相同的值。但是如果有多個線程同時執行的話,這個就不確定了。假設當前value的值為10,有兩個線程同時獲取到這個值,然后各自遞增一次,但是最后的結果卻是11。這個就是典型的安全性問題,解決這個問題的辦法就是使用同步,這個后面會介紹。
2、死鎖
當在多線程中使用鎖時,要特別注意死鎖問題,因為一旦發生死鎖,程序將運行不下去了。
3、性能
設計良好的并發程序能夠提升性能,如果設計的不合理,濫用線程的話,性能不僅不能提升,反而會下降,這個也是必須要注意的。
現在java多線程已經無處不在了,如 java api 本身,各種框架,可以毫不夸張的說,幾乎每個軟件都會用到多線程,可見多線程是多么的重要啊。
后面的章節將會逐一的介紹java中多線程的相關知識,大家盡請期待!
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Java多线程编程递增_java多线程编程之简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c#中使用openssl
- 下一篇: c++查找pair,使用map,unor