Coo*_*der 23 java synchronized
我一直在努力学习设计模式.该网站使用synchronized关键字,但我不明白它的作用.
我在网上搜索,发现它与多线程和内存有些关联,但我是一名机械工程师,不明白这意味着什么.
任何人都可以帮我理解线程和synchronized关键字吗?
And*_*rsK 20
在(Java)示例中
public static synchronized Singleton getInstance()
Run Code Online (Sandbox Code Playgroud)
意味着一次只有一个线程应该能够访问getInstance()方法,以避免竞争条件.
如果一个线程尝试读取数据,而另一个线程尝试更新相同的数据,则会导致状态不一致。
可以通过同步访问数据来防止这种情况。使用“同步”方法:
public synchronized void update()
{
…
}
Run Code Online (Sandbox Code Playgroud)