第一部分 執行緒安全 1 變數安全

2021-06-16 05:06:10 字數 591 閱讀 8313

執行緒安全包含兩個方面

變數安全:程序中有多個執行緒在同時執行,而這些執行緒可能會同時執行某一段**如果每次執行結果和單執行緒執行的結果是一樣的。而且其他變數的值也和預期的是一樣的,稱為變數安全。反正,就不能叫變數安全。

執行緒同步:**中的業務邏輯是乙個原子性的動作,一旦分割執行就可能導致喪失其本來意義。然而在多執行緒環境下,執行中的執行緒被執行緒排程器暫時「叫停」的可能性隨時存在的,這就給原子性的業務動作造成了潛在的危險。這時必須啟用執行緒同步機制,即在乙個執行緒執行完這組動作之前,其他執行緒不能進入這段**。

首先介紹變數安全來看乙個程式:【main】

執行結果:

上面程式在單執行緒下市不會出現問題。但是大家看到結果就發現了問題。兩個執行緒共用了同乙個變數sum.

解決方法有兩種:

第一種: 捨棄「單例項,多執行緒」模式,而使用「多例項,多執行緒」模式。這種模式效率比較低,但是最接近於傳統的單執行緒程式設計,基本不存在變數安全的風險。

第二種: 把變數盡可能的封裝在方法中,使其稱為方法的內部變數。

按照第一種方法來改**如下:

執行結果:

按照第二種方法**如下:

執行結果:

演算法第一部分(1)

1.學習演算法,最好先了解陣列,鍊錶,堆,棧等線性結構 2.對遞迴,遍歷,演算法複雜度有著常識性理解 3.主要包括三方面的知識 線性 主要是排序 樹形結構 圖形結構 定義 選擇排序每次都從剩下的n i 個元素找到最小的數,並與i位置的數交換位置。public void selectionsort t...

Axure RP 第一部分

axure rp是乙個專業的快速原型設計工具。axure 發音 ack sure 代表美國axure公司 rp則是rapid prototyping 快速原型 的縮寫。axure rp是美國axure software solution公司旗艦產品,是乙個專業的快速原型設計工具,讓負責定義需求和規格...

第一部分 初識Solr

第一章 solr簡介 這章主要包括內容 這本書講述nosql技術,apache solr 像它的非關係模式兄弟一樣,針對於某些問題進行了優化。特別的,solr在處理企業級大量資料 及時搜尋 文字資料 返回相關性結果等方面進行了很大優化。這裡說的只是冰山一角,讓我們從下面幾方面來進行詳細敘說 solr...