我有两个方法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