Java之多线程窗口卖票问题(Runnable)

Posted Wu培培

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java之多线程窗口卖票问题(Runnable)相关的知识,希望对你有一定的参考价值。



/**
* 例子:创建三个窗口卖票,总票数为100张.使用实现Runnable接口的方式
* 存在线程的安全问题,待解决。
*/
class Window1 implements Runnable{

private int ticket = 100;

@Override
public void run() {
while(true){
if(ticket > 0){
System.out.println(Thread.currentThread().getName() + ":卖票,票号为:" + ticket);
ticket--;
}else{
break;
}
}
}
}


public class WindowTest1 {
public static void main(String[] args) {
Window1 w = new Window1();

Thread t1 = new Thread(w);
Thread t2 = new Thread(w);
Thread t3 = new Thread(w);

t1.setName("窗口1");
t2.setName("窗口2");
t3.setName("窗口3");

t1.start();
t2.start();
t3.start();
}

}

以上是关于Java之多线程窗口卖票问题(Runnable)的主要内容,如果未能解决你的问题,请参考以下文章

Java 多线程实现多个窗口同时卖票

java-利用多线程Runnable,公用一个参数问题

Android-Java卖票案例-推荐此方式Runnable

Java多窗口卖票问题详解

Java 多线程—— 线程的同步

Java之多线程方式二(实现Runnable接口)