您的位置:首页 > 编程语言 > Java开发

java语言基础(91)——多线程(同步方法解决线程安全问题)

2017-09-19 00:25 615 查看
同步方法解决线程安全问题:

package ThreadDemo;

public class SellTicket implements Runnable{
private int ticket = 100;

public synchronized void run(){
while(true){
if(ticket>0){
try {
Thread.sleep(100);//模拟网络延时
} catch (InterruptedException e) {

e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()
+"正在出售第"+ ticket-- +"张票");
}else{
break;
}
}
}

}

注意事项:

经试验表名,同步方法的锁对象是this,静态同步方法的锁对象是 类名.class 字节码对象,所以要用同步方法实现线程安全,只适用于Runnable的方式,若是Thread子类的方式,具体使用时会new多个对象,这样的话它们的锁对象就不一致了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐