網際網路併發程式設計(1) 執行緒基礎

2021-08-17 06:33:04 字數 1153 閱讀 4945

1 執行緒安全概念:

當多個執行緒訪問某乙個類(物件或方法)時候,這個類始終都能表現出正確的行為,那麼這個類(物件或方法)就是執行緒安全的。

2 synchronized:

可以在任意物件以及方法上加鎖,而加鎖的這段**稱為互斥區或者臨界區。

案例1:

不加synchronized

package com.wuk.thread;

public

class

threadtest

extends

thread

public

static

void

main(string args)

}

結果如下:

t1count=2

t5count=0

t3count=1

t4count=1

t2count=2

結果分析:

因為cpu按照自己的方式進行排序,所以執行緒按照它的順序執行,輸出結果是亂的,因為多執行緒併發訪問。

案例2:

加synchronized

package com.wuk.thread;

public

class

threadtest

extends

thread

public

static

void

main(string args)

}

結果:

t1count=4

t4count=3

t5count=2

t3count=1

t2count=0

分析:

當多個執行緒同時訪問run()方法時候,以排隊的方式進行處理(這裡的排隊是cpu按照它的方式分配的)。

乙個執行緒想要執行synchronized修飾的方法裡面的**時候:

(1)首先獲取鎖

(2)如果拿到鎖,執行synchronized修飾的方法內容,拿不到鎖,這個執行緒就會不斷嘗試獲取這把鎖,直到拿到,這時候如果執行緒多的時候,就會是多個執行緒同時競爭這把鎖,就會產生鎖競爭問題。

網際網路併發程式設計(3) 髒讀

內容 資料的髒讀 對於物件的同步和非同步的方法中,我們在設計程式時候要注意問題的整體性,否則就會出現資料不一致情況,最典型的就是髒讀。髒讀的定義 髒讀又稱無效資料的讀出,是指在資料庫訪問中,事務t1將某一值修改,然後事務t2讀取該值,此後t1因為某種原因撤銷對該值的修改,這就導致了t2所讀取到的資料...

網際網路最近技術應用1 網際網路電視

網路電視 ntv,network television 是以寬頻網路為載體,以視音訊多 為形式,以互動個性化為特性,為所有寬頻終端使用者提供全方位有償服務的業務。網路電視是在數位化和網路化背景下產生,是網際網路絡技術與電視技術結合的產物,在整合電視與網路兩大傳播媒介過程中,網路電視既保留了電視形象直...

網際網路 移動網際網路小團隊創業1

本文特定針對於網際網路 移動網際網路小團隊創業,創新工場汪華。找到乙個足夠大,快速增長,還處於相對早期的大方向,創業要順勢而為,太小太窄,太早太晚的都不合適。找個你真正熟悉了解信任的人搭伙建團隊。創業是個艱難的過程,才認識1 2 天的人哪怕相談甚歡,也最好先花足夠長的時間先加深了解,建立信任。乙個人...