黑马程序员技术交流社区

标题: Java中实现同步的方法有哪些,具体怎么使用啊 [打印本页]

作者: 袭喜悦    时间: 2013-2-8 20:14
标题: Java中实现同步的方法有哪些,具体怎么使用啊
彻底被同步搞晕了。。。。到底怎么使用啊?求解,最好有个比较简答的例子说明下
作者: 铿锵科技    时间: 2013-2-8 20:51
本帖最后由 铿锵科技 于 2013-2-8 20:52 编辑

Object obj=new Object();
                synchronized (obj/*这个是同步锁;里面的代码同一时间只有一个线程可以访问*/) {
                        //将多线程要同步的代码放在这里
                }
同步锁可以是任意一个对象
作者: 李桐    时间: 2013-2-8 23:36
synchronized (xxx) {
              //块1         
                }
....
synchronized (xxx) {
                   //块2     
                }
使用同步代码块时,只能有一个能够线程进入;xxx就是线程的锁,只有当进入的线程从代码块中出去才会释放锁,其他的线程才可以再利用xxx;所以如果两个代码块都用xxx这个锁,两个代码块也是会阻塞第二个线程的;如上,当线程1进入块1时,线程2无论块1还是块2都无法进入
作者: 逍林游    时间: 2013-2-9 09:53
当两个线程需要共享使用同一个数据时就使用同步synchronized。
具体使用方法有两种吧:1、共享数据方法(函数)使用synchronized修饰
                      2、共享数据的程序块使用synchronized修饰,synchronized(obj){程序块;}




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