本文主要是介绍运用多线程实现火车票买票的案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.创建多线程类继承Runnable
package test3;public class TicketThread implements Runnable{int ticket = 100;Object obj = new Object();public void run() {//method(); //method是实现了同步方法,可以解决火车票出现的问题,while(true) {synchronized (obj) { //也可以在run()里面采用同步代码块的形式,来解决出现的异常if(ticket>0) {try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName()+":"+ticket--); } }}}private synchronized void method() {while(true) {if(ticket>0) {try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName()+":"+ticket--); } }}}
2.实现多线程
package test3;public class TicketThreadDemo {public static void main(String[] args) {TicketThread tr = new TicketThread();Thread t = new Thread(tr);t.setName("窗口一"); Thread t2 = new Thread(tr);t2.setName("窗口二");Thread t3 = new Thread(tr);t3.setName("窗口三");t.start();t2.start();t3.start();}
}
这篇关于运用多线程实现火车票买票的案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!