java线程同步Synchronized总汇.ppt

线程同步Synchronized synchronized关键字可以作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。 无论synchronized关键字加在方法上还是对象上,它取得的锁都是对象,而不是把一段代码或函数当作锁――而且同步方法很可能还会被其他线程的对象访问。 每个对象只有一个锁(lock)与之相关联 实现同步是要很大的系统开销作为代价的,甚至可能造成死锁,所以尽量避免无谓的同步控制。 synchronized关键字同步方法 synchronized关键字同步实例方法: public synchronized void 方法名(){…} 作用域:某个对象实例内,可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。注意,不同的对象实例的 synchronized方法是不相干扰的。 synchronized关键字同步方法 synchronized关键字同步静态方法: synchronized static 静态方法名{…} 作用域:某个类的范围,防止多个线程同时访问这个类中的synchronized static 方法。它可以对类的所有对象实例起作用。

文档评论(0)

1亿VIP精品文档

相关文档