在了解多线程时,发现多同步二字不是很理解,脑海里同步、异步的概念一直模模糊糊,于是上网查了一下,发现网上的解释大多是这种:
同步、异步:概念:消息的通知机制
解释:涉及到IO通知机制;所谓同步,就是发起调用后,被调用者处理消息,必须等处理完才直接返回结果,没处理完之前是不返回的,调用者主动等待结果;所谓异步,就是发起调用后,被调用者直接返回,但是并没有返回结果,等处理完消息后,通过状态、通知或者回调函数来通知调用者,调用者被动接收结果。
来源:https://blog.csdn.net/linhuaiyang/article/details/68483222
然而在多线程中,synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行。synchronized既可以加在一段代码上,也可以加在方法上,被synchronized修饰的方法/代码被称为同步方法/同步代码块。知道synchronized是干什么的了,但是还是不理解“同步”二字表示什么意思?该如何理解这里的同步呢? 感觉和上面说的同步不是一回事啊,还是说次同步不是彼同步?

解决方案 »

  1.   

    https://blog.csdn.net/luoweifu/article/details/46613015
      

  2.   

    此同步不是彼同步
    按你自己理解的synchronized来理解这个同步
      

  3.   

    synchronized你就想象成一座独木桥,每次只能一个人通过,针对方法和对象加锁,一次只能一个线程访问.
      

  4.   

    同步锁,就是在你去银行ATM取钱的时候只能操作取钱,而不能同时在柜台存钱
      

  5.   

    synchronized关键字
    一般作用在函数上,当你的一个线程运行这个方法可以避免它被其他线程中断任务.