我一直在尝试学习设计模式。该网站使用synchronized关键字,但我不知道它的作用。
synchronized
我在网上搜索后发现,它与多线程和内存有一定关系,但是我是机械工程师,不知道这意味着什么。
有人可以帮我理解线程和synchronized关键字吗?
synchronizedC ++中没有关键字。
但是,在Java中有一种方法对于方法来说意味着以下两件事:
* 同一对象上的两个同步方法调用不可能交错。当一个线程正在为对象执行同步方法时,所有其他为同一对象块调用同步方法的线程(挂起执行),直到第一个线程对该对象完成。 * 当同步方法退出时,它会与随后对同一对象的同步方法的任何调用自动建立事前发生关系。这样可以保证对对象状态的更改对所有线程都是可见的。
类似的规则适用于任意块。
另外,我建议您从经过同行评审的书中学习,而不是从一些随意的非权威网站中学习。