‘synchronized’是什么意思?

问题:

有关synchronized关键字的用法和意义的一些问题。

  • synchronized关键字的意义是什么?
  • 什么时候应该是synchronized
  • 它在程序和逻辑上是什么意思?

回答:

synchronized关键字是关于不同的线程读取和写入相同的变量,对象和资源。这不是Java中的一个微不足道的话题,但是这是Sun的引用:

 synchronized方法可以实现一个简单的策略来防止线程干扰和内存一致性错误:如果对象对多个线程可见,则对该对象变量的所有读取或写入都将通过同步方法完成。

 In a very, very small nutshell:当您有两个正在读取和写入相同“资源”的线程时,称为名为foo的变量,您需要确保这些线程以原子方式访问变量。没有synchronized关键字,你的线程1可能看不到更改线程2到foo,或者更糟的是,它可能只有一半的更改。这不会是您的逻辑期望。
再次,这是Java中的一个不平凡的话题。要了解更多信息,请在这里探索有关SO和Interwebs的主题:

继续探索这些主题,直到名称“Brian Goetz”与您的大脑中的术语“concurrency”永久关联。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: What does ‘synchronized’ mean?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

68 − 60 =