再談Java的Thread機制 3

2021-08-25 05:06:43 字數 505 閱讀 4261

同步出現的原因是當執行緒中使用共享資源時候,為了資源的獨占性。這樣可以避免獲得結果是不正確的。

如果,不是使用共享資源,不建議使用同步!因為這會使多執行緒變成單執行緒!而且處理不當,會引起死鎖!

比如我們所寫執行緒程式要的結果是:

count value is: 1

count value is: 2

count value is: 3

count value is: 4

1. 方法同步

沒有方法同步的**:

但是,執行這個程式時,每次排列都是不同的!怎樣才能得到我們想要的結果呢?

只需要同步方法addmessage(),即在前面加上「synchronized」關鍵字!

有方法同步的**:

2. 塊同步

沒有塊同步的**:

但是,執行這個程式時,每次排列都是不同的!怎樣才能得到我們想要的結果呢?

只需要把我們要同步的塊前加「synchronized」關鍵字!

**如下:

再談Java的Thread機制 3

同步出現的原因是當執行緒中使用共享資源時候,為了資源的獨占性。這樣可以避免獲得結果是不正確的。如果,不是使用共享資源,不建議使用同步!因為這會使多執行緒變成單執行緒!而且處理不當,會引起死鎖!比如我們所寫執行緒程式要的結果是 count value is 1 count value is 2 cou...

再談ZigBee中的繫結機制

這裡主要再討論一下繫結的機制,繫結是 zigbee 中應該是比較重要的乙個部分。前面的幾篇文章也對繫結有了具體的分析,主要分析了兩種繫結方式,介紹了繫結的流程,源 方面。這裡主要是理清整個繫結在組網中的概念。繫結是和 endpoint 緊密聯絡在一起的,其中很多是自己通過看資料,自己的一些理解,當中...

Java多執行緒 Thread

今天工作上用到了一些執行緒方面的知識,有些知識點學了不用一段時間後就會被忘記的,所以下來後覺得還是應該總結一下基礎知識,方面以後回顧。多執行緒程式在較低的層次上擴充套件了多工的概念 乙個程式同時執行多個任務。通常,每乙個任務稱為乙個執行緒,它是執行緒控制的簡稱。可以同時執行乙個以上執行緒的程式稱為多...