为了账号安全,请及时绑定邮箱和手机立即绑定

同步是什么意思?

同步是什么意思?

慕少森 2019-06-17 15:00:45
同步是什么意思?我有一些关于使用和意义的问题。synchronized关键词。的意义是什么?synchronized关键词?什么时候该用方法synchronized?从程序和逻辑上讲,这意味着什么?
查看完整描述

3 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

这个synchronized关键字都是关于不同线程对相同的变量、对象和资源进行读写。在Java中,这不是一个微不足道的话题,但以下是Sun的引语:

synchronized方法支持防止线程干扰和内存一致性错误的简单策略:如果一个对象对多个线程可见,则通过同步方法对该对象的变量进行所有读或写操作。

简单地说就是:当有两个线程正在读取和写入相同的“资源”时,例如一个名为foo,您需要确保这些线程以原子方式访问变量。没有synchronized关键字时,您的线程1可能不会看到将线程2更改为foo或者更糟的是,它可能只改变了一半。这不是你逻辑上所期望的。

同样,这是Java中一个重要的主题。要了解更多信息,请浏览SO和Interweb上的主题:

继续探索这些主题,直到名称“布莱恩·戈茨”与术语永久关联“并发”在你的脑子里。


查看完整回答
反对 回复 2019-06-17
?
一只名叫tom的猫

TA贡献1906条经验 获得超2个赞

这个synchronized关键字防止多个线程并发访问代码块或对象。默认情况下,Hashtablesynchronized,因此一次只能访问一个线程。

论对…的使用non-synchronized像这样的构造HashMap,您必须在代码中构建线程安全功能,以防止内存一致性错误。


查看完整回答
反对 回复 2019-06-17
  • 3 回答
  • 0 关注
  • 1046 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信