synchronized “同步”二字如何理解?

lc545126483 2018-04-15 10:41:25
在了解多线程时,发现多同步二字不是很理解,脑海里同步、异步的概念一直模模糊糊,于是上网查了一下,发现网上的解释大多是这种:
同步、异步:

概念:消息的通知机制
解释:涉及到IO通知机制;所谓同步,就是发起调用后,被调用者处理消息,必须等处理完才直接返回结果,没处理完之前是不返回的,调用者主动等待结果;所谓异步,就是发起调用后,被调用者直接返回,但是并没有返回结果,等处理完消息后,通过状态、通知或者回调函数来通知调用者,调用者被动接收结果。
来源:https://blog.csdn.net/linhuaiyang/article/details/68483222
然而在多线程中,synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行。synchronized既可以加在一段代码上,也可以加在方法上,被synchronized修饰的方法/代码被称为同步方法/同步代码块。

知道synchronized是干什么的了,但是还是不理解“同步”二字表示什么意思?该如何理解这里的同步呢? 感觉和上面说的同步不是一回事啊,还是说次同步不是彼同步?
...全文
1037 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ISO_8859_1ORUTF_8 2018-04-21
  • 打赏
  • 举报
回复
不用字面理解什么同步。这是英语翻译过来的。 比如上厕所,多个人上厕所,马桶只有一个,有可能你上着厕所,别人突然进来霸占你的马桶。这个时候你需要锁门。让其他人进不了。把你拉屎过程进行一个锁门处理防止别人打断就可以理解为同步。
黑煤碳 2018-04-19
  • 打赏
  • 举报
回复
synchronized关键字 一般作用在函数上,当你的一个线程运行这个方法可以避免它被其他线程中断任务.
  • 打赏
  • 举报
回复
同步锁,就是在你去银行ATM取钱的时候只能操作取钱,而不能同时在柜台存钱
孤生竹丶 2018-04-16
  • 打赏
  • 举报
回复
理解为一把锁
  • 打赏
  • 举报
回复
这个同步是指当变量数据之类的变换了之后,其它的线程使用的时候也是产生变化后的结果。这样处理的结果就是多线程同步了。
maradona1984 2018-04-16
  • 打赏
  • 举报
回复
此同步不是彼同步 按你自己理解的synchronized来理解这个同步
flamen087 2018-04-16
  • 打赏
  • 举报
回复
synchronized你就想象成一座独木桥,每次只能一个人通过,针对方法和对象加锁,一次只能一个线程访问.

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧