一、前言

  對于并發(fā)編程而言,除了Thread以外,對Object對象的wati和notify對象也應該深入了解其用法,雖然知識點不多。

二、線程安全基本知識

  首先應該記住以下基本點,先背下來也無妨:

  • 同一時間一個鎖只能被一個線程持有

  • 調(diào)用對象的wait()和notify()前必須持有它

三、wait()和notify()理解

3.1 wait()和notify()方法簡介

  wait()和notify()都是Object的方法,可以認為任意一個Object都是一種資源(或者資源的一個代表),當多個線程對一個資源進行操作時,如果線程發(fā)現(xiàn)這個資源還沒有準備好,它就可以在這個資源上進行等待,即調(diào)用這個資源的wait()方法,如果有另外的線程經(jīng)過某些處理覺得這個資源可用了,會調(diào)用這個這個資源的notify()方法,告訴等待它的線程,這個資源可以用了。

  當然不使用wait()和notify()方法也是可以的,可以用while()死循環(huán)來判斷,如下面的偽代碼: 

seo優(yōu)化培訓,網(wǎng)絡推廣培訓,網(wǎng)絡營銷培訓,SEM培訓,網(wǎng)絡優(yōu)化,在線營銷培訓

class Resource{    static boolean canUse=false;
}while(!Resource.canUse){    //如果不可用,死循環(huán)在這里等待}//當資源可以使用后,就會跳出循環(huán),往下執(zhí)行

seo優(yōu)化培訓,網(wǎng)絡推廣培訓,網(wǎng)絡
        
		<div   id=

網(wǎng)友評論