public
final
class
product
//....生成get()方法
}
不變模式的例子:
stringboolean
byte
character
double
float
integer
long
short
public
inte***ce
data
//futuredata
public
class
futuredata
implements
data
public
synchronized string getresult()catch(exception e)
}return realdata.result;
}}
public
class
realdata
implements
data
result = sb.tostring();
}public string getresult()
}
public
class
client
}.start();
return future; //futuredata會被立即返回
}}
package future;
public
class
main catch (interruptedexception e)
//使用真實的資料
system.out.println("資料 = "+data.getresult());
}}
在其中,使用了裝飾者設計模式(realdata和futuredata之間)
main系統系統,呼叫client發出請求餓漢模式client:返回data物件,立刻返回futuredata物件,並且開啟執行緒去獲取realdata
data:返回資料的介面
futuredata:虛擬資料,返回很快,需要裝載realdata。
realdata:真實資料。
public
class
singleton
private
static singleton instance = new singleton();
private
static singleton getsingleton()
}優點:執行緒安全
缺點:無法控制例項何時產生
懶漢模式
public
class
lazysingleton
private
static lazysingleton instance = null;
public
static
synchronized lazysingleton getinstance()
}
執行緒不安全,訪問需要鎖。
執行緒安全不加鎖的懶漢模式
public
class
staticsingleton
/** 定義乙個靜態內部類,用來例項化單例物件
* */
private
static
class
singletonholder
public
static staticsingleton getinstance()
}
生產者產生資料,消費者消耗資料。步驟
第一步:在外界設定乙個物件,通過建構函式傳送個給生產者。main方法設定乙個物件第二步:生產者設定物件內容
第三步:消費者獲取資料內容
public
class studentdemo
}
student類
public
class
student catch (interruptedexception e)
}//設定資料
this.name = name;
this.age = age;
//修改標記
this.flag = true;
//通知消費者
this.notify();
}public
synchronized
void
get() catch (interruptedexception e)
}//獲取資料
system.out.println(this.name + "---" + this.age);
//修改標記
this.flag = false;
this.notify();
}}
消費者
public
class
getthread
implements
runnable
public
void
run()
}}
生產者
public
class
setthread
implements
runnable
@override
public
void
run() else
x++;}}
}
多執行緒設計模式
呼叫類 public class main 介面 public inte ce data 包裝類 public class futureclient start return futuredata 真實資料處理類 public class realdata implements data catch...
多執行緒設計模式
所謂 single threaded execution 即 以乙個執行緒執行 該模式用於設定限制,以確保同一時間內只讓乙個執行緒執行處理。immutable模式中存在著確保例項狀態不發生改變的類 immutable類 在訪問這些例項時並不需要執行耗時的互斥處理,因此若能巧妙利用該模式,定能提高程式...
多執行緒 多執行緒 單例設計模式
多執行緒之 單例設計模式 餓漢式 多執行緒安全 1 餓漢式 class single static single getinstance public void show class a implements runnable class test catch interruptedexceptio...