1. gzyueqian
      13352868059

      什么是java的并發編程?

      更新時間: 2020-07-10 15:40:06來源: 粵嵌教育瀏覽量:13429

            說到java的話粵嵌科技的小編相信大家肯定是不陌生的了,對于java來說從問世以來一直在開發界有著很高的地位的。很多的產品在開發語言的選擇上也肯定是java 的,所以說大家對于java語言的熟悉度就很高的了,那么什么是java的并發編程呢?

        1、線程基礎概念


        線程是指在一個單獨進程中,對于CPU和內存而言的多個工作單位,所有線程在進程中的資源都是共享的,包括全局數據、執行代碼等。


        cpu核心數與線程數


        核心數 : 線程數 = 1 : 1


        如一個8核的cpu,該cpu會至少支持8個線程同時運行


        intel引入了超線程技術后:


        核心數 : 線程數 = 1 : 2


        在編碼過程中可以感覺到同時運行的線程遠遠不止這些。由于cpu的時間片輪轉機制又稱RR調度,簡單點講,操作系統會把已就緒的線程排成一個隊列,給每個進程一個時間分片,該線程在cpu中執行完這個時間分片后,不論是否執行完都會讓出cpu資源給另外的線程,這樣在某一時間段內就好像有很多線程在同時運行。


        操作系統和cpu在進行時間分片的任務切換時也是需要時間的,而且往往占用的時間比例又很大,所以在多線程開發時關注上下文切換對于多線程執行時間和性能的影響。


        二、進程和線程區別


        進程:程序運行進行資源分配的小單位,進程中有多個線程,會共享這個線程的資源


        線程:cpu調度的小單位,必須依賴進程而存在


        例子:啟動的一個jar包程序就是一個進程,而可以通過啟動參數配置它的內存大小,-xmx,-xms等。而每一個請求都是在線程上去進行的,cpu通過執行線程任務完成每個請求任務。


        三、并行和并發


        并行:同一時刻,可以同時處理事情的能力


        并發:與單位時間有關,在單位時間內可以處理問題的能力


        舉個例子,假設不考慮超線程技術,一個4核cpu在任何一個時刻處理的是4個線程,并行數為4,而由于時間片輪轉機制,它在1秒內可以支持處理100個線程,它在1秒內的并發數為100


        四、高并發編程優勢


        充分利用cpu的資源。如果是單線程,只占用一個核,其它的空閑;加快響應時間。合理的設計多線程程序,使請求處理加快;程序模塊化異步化


        線程共享資源,會存在沖突、會存在死鎖、啟動線程太多,濫用線程,壓垮服務器。線程方法,java線程是協作式的,而不是搶占式


        五、線程終止的方法interrupt()


        線程之前提供了stop(),resume(),suspend()方法來終止線程,但已不建議使用,stop()會導致線程不會正確的釋放資源,suspend()會導致死鎖。


        要通過interrupt(),isInterrupted(),static interrupted()來自己實現中斷線程


        interrupt() :調用一個線程的interrupt() 方法中斷一個線程,并不是強行關閉這個線程,只是跟這個線程打個招呼,將線程的中斷標志位置為true,線程是否中斷,由線程本身決定。


        isInterrupted(): 判定當前線程是否處于中斷狀態。


        static interrupted() :判定當前線程是否處于中斷狀態,同時中斷標志位改為false。


        thead.setPriority()方法


        優先級的范圍1~100,缺省為5,但線程的優先級不可靠,不建議作為線程開發時候的手段。


        java線程是映射到系統的原生線程來實現的,所以線程的調度終決定于操作系統。雖然現在很多操作系統提供了線程優先級的概念,但是不見得會與java線程的優先級一一對應,如果優先級比java線程多還好說,要是少的話,就不得不出現幾個優先級相同的情況了。


        Java的并發編程是比較復雜的,在學習的過程中可能會出現錯亂,但是如果說你有一個專業的講師來指導的話肯定是沒有問題的。粵嵌科技歡迎每位想要學習java語言的學員來我們公司的java培訓班進行實地考察,也可以點擊我們文章下面的獲取試聽資格按鈕來獲取我們的java課程免費試聽資格,在試聽中可以更加深入的了解我們粵嵌科技。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 日韩欧美国产一区二区三区免费 | 亚洲一级在线免播放观看 | 永久免费的污网站在线观看 | 亚洲成aV人片在线播放一区二区 | 亚洲国产品有宅男 | 日韩精品一区二区三区中文 |