我对使用的用法和意义有一些疑问synchronized关键词。

  • 什么意义是什么synchronized关键词?
  • 什么时候应该synchronized
  • 在编程和逻辑上是什么意思?

答案

synchronized关键字是关于不同的线程读写和写入相同变量,对象和资源的内容。这不是Java中的一个琐碎的话题,但这是Sun的名言:

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

简而言之非常小: 当您有两个正在读取和写入相同"资源"的线程时,请说一个名称的变量foo,您需要确保这些线程以原子方式访问变量。没有synchronized关键字,您的线程1可能看不到更改线程2foo,或更糟糕的是,它可能只有一半更改。这不是您在逻辑上期望的。

同样,这是Java中的一个非平凡的话题。要了解更多信息,请在此处探索主题,以及有关:

继续探索这些主题,直到名字*“布莱恩·戈兹”* 与该术语永久关联*“并发”*在你的大脑中。

来自: stackoverflow.com