同步和非同步
同步和非同步通常用來形容一次方法的呼叫。同步方法呼叫一旦開始,呼叫者必須完成所有的操作一直到方法呼叫結束,其他呼叫者才能繼續後續的行為,
非同步方法呼叫類似乙個訊息傳遞,一旦開始,方法呼叫就會立即返回,其他呼叫者則可以無需等待,可以立即繼續後續的操作。
非同步:
不過, 如果 我們 趕時髦, 就坐 在家 裡 開啟 電腦, 在 網上 訂購 了 一台 空調。 當你 完成 網上 支付 的 時候, 對 你來 說 購物 過程 已經 結束 了。 雖然 空調 還沒 送 到家, 但是 你的 任務 都已 經 完成 了。 商家 接到 了 你的 訂單 後, 就會 加緊 安排 送貨, 當然 這一 切 已經 跟你 無關 了。 你 已經 支付 完成, 想 幹什麼 就 能去 幹什麼, 出去 溜 幾 圈 都不 成問題, 等 送貨上門 的 時候, 接到 商家 的 **, 回家 一 趟 簽收 就 完事 了。 這就 是 非同步 呼叫。
public執行結果:class
mythread3
catch
(interruptedexception e)
}private
void
metho2()
public
static
void
main(string agrs)
}, "t1");
thread b = new thread(new
runnable()
}, "t2");
a.start();
b.start();}}

/**執行結果:等待了2秒鐘* 同步:synchronized
* 同步的概念就是共享,如果不是共享資源則沒必要進行同步;同步的目的是為了執行緒安全,執行緒安全只需要滿足該特性:原子性(同步)、可見性
*/private
synchronized
void
metho2()

2.a執行緒獲取了t物件的鎖,b執行緒爭取去那t物件的鎖,這個時候物件使用同步 synchronized 修飾了metho2() 方法,a執行緒休眠了2秒,metho2() 方法的鎖還麼有釋放,2秒後,鎖被釋放了,a物件的操作全部結束;b執行緒這個時候才真正的拿到了t物件的鎖,去呼叫metho2() 方法。
同步 非同步 多執行緒
1 首先明確一點,對於單核cpu,任意乙個時刻只有乙個執行緒在執行。那麼既然這樣,多執行緒還有什麼意義呢?舉例來說,現在只有乙個人,要做好幾個任務。單執行緒就是,任務乙個乙個地做,必須做完乙個任務後,再去做另乙個任務。多執行緒就是一會做這個任務,一會做那個任務,每個任務做一會,不停的切換。顯然,最後...
同步 非同步 多執行緒
1 首先明確一點,對於單核cpu,任意乙個時刻只有乙個執行緒在執行。那麼既然這樣,多執行緒還有什麼意義呢?舉例來說,現在只有乙個人,要做好幾個任務。單執行緒就是,任務乙個乙個地做,必須做完乙個任務後,再去做另乙個任務。多執行緒就是一會做這個任務,一會做那個任務,每個任務做一會,不停的切換。顯然,最後...
同步 非同步 多執行緒 解釋
1 首先明確一點,對於單核cpu,任意乙個時刻只有乙個執行緒在執行。那麼既然這樣,多執行緒還有什麼意義呢?舉例來說,現在只有乙個人,要做好幾個任務。單執行緒就是,任務乙個乙個地做,必須做完乙個任務後,再去做另乙個任務。多執行緒就是一會做這個任務,一會做那個任務,每個任務做一會,不停的切換。顯然,最後...