黑马程序员技术交流社区

标题: 在方法前加synchronized关键字,是为了同步。但是不理解。 [打印本页]

作者: wwfkofufo    时间: 2014-8-25 09:11
标题: 在方法前加synchronized关键字,是为了同步。但是不理解。
在方法前加synchronized关键字,是为了同步。但是不理解。有没有人告诉一下,为什么要同步。。。不同步会有什么影响?

作者: 好听就好    时间: 2014-8-25 11:32
多线程里的问题。同步的好处:解决多线程的安全问题。同行的弊端:降低了程序的性能。
如果不同步:例如,CPU在执行线程时,是一个时间段一个时间段的执行的。当一个线程在执行到一半的时候,突然转到另一个线程。而两个线程处理着相同的变量。这时,出现问题。
作者: 刘亚东    时间: 2014-8-25 12:08
不同步就会出现线程安全问题。比如两个线程A和B,A进入某个方法获得执行权,但是还没有执行,这时候B线程进来瞬间抢占了执行权并执行了程序。这样两个线程就把本该执行一次的程序一人执行了一次,那同一次执行就会有两个结果。同步就是防止这样的情况出现。当然我说的比较通俗了,比较专业的说法还是要好好看看视频。
作者: 菜鸟一号    时间: 2014-8-25 13:46
多线程不同程就有可能不安全啊
作者: bbdeyouxang    时间: 2014-8-25 19:51
去看老毕的视频吧,day11




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