线程安全处理Synchronized
开发工具与关键技术:eclipse java
作者:梁峻豪
线程同步(线程安全处理 Synchronized)
java 中提供了线程同步机制,它能够解决上述的线程安全问题。
线程同步的方式有两种:
方式 1:同步代码块
方式 2:同步方法
(1)同步代码块:
同步代码块: 在代码块声明上 加上 synchronized
synchronized (锁对象) {
可能会产生线程安全问题的代码
}
同步代码块中的锁对象可以是任意的对象;
但多个线程时,要使用同一个锁对象才能够保证线程安全。
使用同步代码块,对电影院卖票案例中 Ticket 类进行如下代码修改:
当使用了同步代码块后,上述的线程的安全问题,解决了。
(2)同步方法
同步方法:在方法声明上加上 synchronized
public synchronized void method(){
可能会产生线程安全问题的代码
}
同步方法中的锁对象是 this
使用同步方法,对电影院卖票案例中 Ticket 类进行如下代码修改:
静态同步方法: 在方法声明上加上 static synchronized
public static synchronized void method(){
可能会产生线程安全问题的代码
}
静态同步方法中的锁对象是 类名.class