導航:首頁 > 編程語言 > java並發式編程

java並發式編程

發布時間:2022-09-27 14:03:49

A. 電腦培訓分享java 並發編程:核心理論

並發編程是Java程序員最重要的技能之一,也是最難掌握的一種技能。它要求編程者對計算機最底層的運作原理有深刻的理解,同時要求編程者邏輯清晰、思維縝密,這樣才能寫出高效、安全、可靠的多線程並發程序。電腦培訓http://www.kmbdqn.com/發現本系列會從線程間協調的方式(wait、notify、notifyAll)、Synchronized及Volatile的本質入手,詳細解釋JDK為我們提供的每種並發工具和底層實現機制。在此基礎上,我們會進一步分析java.util.concurrent包的工具類,包括其使用方式、實現源碼及其背後的原理。本文是該系列的第一篇文章,是這系列中最核心的理論部分,之後的文章都會以此為基礎來分析和解釋。



關於java並發編程及實現原理,還可以查閱《Java並發編程:Synchronized及其實現原理》。


一、共享性


數據共享性是線程安全的主要原因之一。如果所有的數據只是在線程內有效,那就不存在線程安全性問題,這也是我們在編程的時候經常不需要考慮線程安全的主要原因之一。但是,在多線程編程中,數據共享是不可避免的。最典型的場景是資料庫中的數據,為了保證數據的一致性,我們通常需要共享同一個資料庫中數據,即使是在主從的情況下,訪問的也同一份數據,主從只是為了訪問的效率和數據安全,而對同一份數據做的副本。我們現在,通過一個簡單的示例來演示多線程下共享數據導致的問題。


二、互斥性


資源互斥是指同時只允許一個訪問者對其進行訪問,具有唯一性和排它性。我們通常允許多個線程同時對數據進行讀操作,但同一時間內只允許一個線程對數據進行寫操作。所以我們通常將鎖分為共享鎖和排它鎖,也叫做讀鎖和寫鎖。如果資源不具有互斥性,即使是共享資源,我們也不需要擔心線程安全。例如,對於不可變的數據共享,所有線程都只能對其進行讀操作,所以不用考慮線程安全問題。但是對共享數據的寫操作,一般就需要保證互斥性,上述例子中就是因為沒有保證互斥性才導致數據的修改產生問題。


閱讀全文

與java並發式編程相關的資料

熱點內容
程序員格子襯衫過聖誕 瀏覽:222
插入單片機檢測不到埠 瀏覽:467
svn文件夾如何刪除 瀏覽:621
編譯過程和解析過程 瀏覽:819
德雲天團app如何參與活動 瀏覽:740
編譯系統的硬體原理 瀏覽:330
黑色玫瑰什麼時候出的伺服器 瀏覽:636
如何打開列印共享伺服器 瀏覽:867
手機熱點密碼的加密方式 瀏覽:328
貴州大數據伺服器閑置雲伺服器 瀏覽:527
文件夾加密微軟 瀏覽:383
蘋果突然提示無法驗證伺服器身份怎麼解決 瀏覽:988
調度命令發布的原則 瀏覽:679
dos提示不是內部或外部命令 瀏覽:683
騰訊100g編程源碼 瀏覽:209
機械設計和編程 瀏覽:830
八角單片機紅外遙控led 瀏覽:94
血液凈化pdf 瀏覽:383
烏市停車APP哪裡下載 瀏覽:904
單片機中fg是什麼意思 瀏覽:883