我有兩個方法read()
和write()
在一個類如下所示。java方法同步和讀/寫互斥
class Store
{
public void write()
{
// write to store;
}
public string read()
{
// read from store;
}
}
1)Store
對象是一個單例。
2)我有一個Writer
類,它將寫入商店和幾個Reader
類,它們將同時從商店中讀取。
我的要求是當作者寫信給商店時,所有的讀者都應該等待。即,當控制在write()
中時,應該阻止對read()
的所有呼叫。我如何實現這一目標?我在write()
方法中嘗試過synchronize(Store.class)
,但似乎不適合我。
你不想在類對象('synchronized(foo.class)')上同步,而是在你正在操作的實例上進行同步。 – andersoj 2012-05-01 02:13:35