参考了此篇博文(http://blog.youkuaiyun.com/liutengteng130/article/details/20036517),其中,就使用thread和runnable接口实现售票多窗口模拟问题。
就runnable接口实现方法的特性——多线程无差错修改类公共变量值问题,觉得很有价值,对源代码做了批注,拿来分析下和大家共享:
class ThreadTest implements Runnable{
private int ticket =100; //100张票需要销售
public void run(){ //Runnable接口
while(true){
if(ticket > 0){
//不同线程售票,并修改公共类属性————注意:这里有价值之处在于并没有申明锁
System.out.println(Thread.currentThread().getName() + " is saling ticket " + ticket--);
}else{
break;
}
}
}
public static void main(String[] args){
ThreadTest t = new ThreadTest();
//创建4个线程,并依次启动
new Thread(t).start();
new Thread(t).start();
new Thread(t).start();
new Thread(t).start();
}
}

本文详细介绍了如何利用Java中的thread和runnable接口来模拟多个售票窗口进行并发操作,通过实现Runnable接口并在run方法中进行票务处理,展示了多线程环境下对公共类属性进行无差错修改的过程,提供了代码示例和批注分析。
1162

被折叠的 条评论
为什么被折叠?



