JAVA synchronized关键字使用方法总结

来源:互联网 发布:linux 生成100mb文件 编辑:程序博客网 时间:2024/05/29 16:56

synchronized锁住的是对象,而不是一段代码。

synchronized锁住的对象,在同一时刻只能有一个线程访问。

按被锁住的对象分类,synchronized的用法有三种:

1、锁实例对象的成员变量。语法格式为:synchronized(mLock){...}。含义:锁 实例变量mLock,当后面花括号中语句块执行完毕且解锁后,其他线程才能对mLock加锁。

2、锁类实例对象本身。语法格式为:synchronized(this){...} 或 public synchronized void lockMethod{...}

3、锁类本身。语法格式为:synchronized(Foo.class){...} 或 public synchronized void lockMethod(...}