Java线程同步,是什么意思? 10
线程同步,有两种用法,一种是在方法上加synchronized,另一种是什么?线程同步,能否请高手解释一下,比如在方法上加synchronized,有什么作用?...
线程同步,有两种用法,一种是在方法上加synchronized,另一种是什么?
线程同步,能否请高手解释一下,比如在方法上加synchronized,有什么作用? 展开
线程同步,能否请高手解释一下,比如在方法上加synchronized,有什么作用? 展开
4个回答
展开全部
一种是方法前加sychronized
public void sychronized start() {
System.out.println("start");
}
另一种是在代码段之前加sychronized
(sychronized){
。。。。。
}
同步方法(synchronized关键字修饰的方法)可以较好地解决并发问题,在一定程度上可以避免出现资源抢占、竞争条件和死锁的情况,但其副作用是同步锁可导致线程阻塞。这要求同步方法的执行时间不能太长。
这就是所谓的锁机制,你何以使用sychronized(Object obj)锁住某个对象,等你使用完这个对象之后,再进行锁的释放,其他需要该对象的线程才可以执行。
public void sychronized start() {
System.out.println("start");
}
另一种是在代码段之前加sychronized
(sychronized){
。。。。。
}
同步方法(synchronized关键字修饰的方法)可以较好地解决并发问题,在一定程度上可以避免出现资源抢占、竞争条件和死锁的情况,但其副作用是同步锁可导致线程阻塞。这要求同步方法的执行时间不能太长。
这就是所谓的锁机制,你何以使用sychronized(Object obj)锁住某个对象,等你使用完这个对象之后,再进行锁的释放,其他需要该对象的线程才可以执行。
展开全部
线程同步,有两种用法一种是在方法上加synchronized
另一种是在原子代码块上加synchronized
作用当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问将被阻塞。
另一种是在原子代码块上加synchronized
作用当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问将被阻塞。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有人给出了回答,非常详细,参看引用
参考资料: http://zhidao.baidu.com/question/24822803.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询