黑马程序员技术交流社区

标题: 同步和异步有什么不同?分别在什么时候使用它们。求大神帮讲解 [打印本页]

作者: chen_chong    时间: 2014-6-12 13:20
标题: 同步和异步有什么不同?分别在什么时候使用它们。求大神帮讲解
网上搜的答案一大堆,但是不是太理解。
作者: 陈培果    时间: 2014-6-12 13:43
同步就是你请我去吃饭我立马就去了,异步就是你请我吃饭,我忙完我自己的事再去。
当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分(CPU就切换到另外的线程去),还没有执行完,另一个线程参与进来执行。导致共享数据的错误。这时候就要用同步(synchronized)。

说得通俗一点就是,你包里有几个糖,你往你包里放糖,我往你包里拿糖,我们共同操作这个包里面的糖资源,当你还没放好糖,我就强行抢你的糖,这明显不行嘛。所以要使用同步,等你放好糖了,我再拿。
作者: 黄梁梦想享    时间: 2014-6-12 15:50
答案精辟




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2