Java线程同步,是什么意思?

线程同步,有两种用法,一种是在方法上加synchronized,另一种是什么?
线程同步,能否请高手解释一下,比如在方法上加synchronized,有什么作用?

一种是方法前加sychronized
public void sychronized start() {
System.out.println("start");
}

另一种是在代码段之前加sychronized
(sychronized){
。。。。。
}

同步方法(synchronized关键字修饰的方法)可以较好地解决并发问题,在一定程度上可以避免出现资源抢占、竞争条件和死锁的情况,但其副作用是同步锁可导致线程阻塞。这要求同步方法的执行时间不能太长。

这就是所谓的锁机制,你何以使用sychronized(Object obj)锁住某个对象,等你使用完这个对象之后,再进行锁的释放,其他需要该对象的线程才可以执行。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-20
线程同步,有两种用法一种是在方法上加synchronized
另一种是在原子代码块上加synchronized

作用当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问将被阻塞。
第2个回答  2013-01-12
同步锁Lock
第3个回答  2012-10-20
有人给出了回答,非常详细,参看引用

参考资料:http://zhidao.baidu.com/question/24822803.html

相似回答