用JAVA的多线程实现火车站售票问题
2009-04-22 16:59
330 查看
package com.softeem.demo;
/**
*@authorleno
*售票类
*/
class SaleTicket implements Runnable {
int tickets = 100;
public void run() {
while (tickets > 0) {
sale();
//或者下面这样实现
// synchronized (this) {
// if (tickets > 0) {
// System.out.println(Thread.currentThread().getName() + "卖第"
// + (100 - tickets + 1) + "张票");
// tickets--;
// }
// }
}
}
public synchronized void sale() {
if (tickets > 0) {
System.out.println(Thread.currentThread().getName() + "卖第"
+ (100 - tickets + 1) + "张票"); //打印第几个线程正在执行
tickets--;
}
}
}
public class TestSaleTicket {
public static void main(String[] args) {
SaleTicket st = new SaleTicket();
new Thread(st, "一号窗口").start();
new Thread(st, "二号窗口").start();
new Thread(st, "三号窗口").start();
new Thread(st, "四号窗口").start();
}
}
/**
*@authorleno
*售票类
*/
class SaleTicket implements Runnable {
int tickets = 100;
public void run() {
while (tickets > 0) {
sale();
//或者下面这样实现
// synchronized (this) {
// if (tickets > 0) {
// System.out.println(Thread.currentThread().getName() + "卖第"
// + (100 - tickets + 1) + "张票");
// tickets--;
// }
// }
}
}
public synchronized void sale() {
if (tickets > 0) {
System.out.println(Thread.currentThread().getName() + "卖第"
+ (100 - tickets + 1) + "张票"); //打印第几个线程正在执行
tickets--;
}
}
}
public class TestSaleTicket {
public static void main(String[] args) {
SaleTicket st = new SaleTicket();
new Thread(st, "一号窗口").start();
new Thread(st, "二号窗口").start();
new Thread(st, "三号窗口").start();
new Thread(st, "四号窗口").start();
}
}
相关文章推荐
- java面试题-用JAVA中的多线程示例火车站售票问题
- 1多线程的概述2多线程(创建多个线程实例,并启动多个线程)的实现方式,main主方法是单线程的4多线程的实现方式5多线程模拟火车站售票出现问题7线程的声明周期
- 用JAVA中的多线程示例火车站售票问题
- java多线程(内附实例:窗口售票问题、人和叉子的问题)
- java多线程模拟火车站窗口卖票的问题
- Java多线程4—线程同步问题+火车票售票系统
- java多线程,这样的生产者消费者实现会有什么问题呢?
- java使用多线程实现生产者消费者问题
- java多线程总结六:经典生产者消费者问题实现
- 问题: 写一个多线程程序实现铁路卖票系统,4个窗口同时售票,线程同步
- JAVA_多线程_用继承的方式实现多窗口售票并用同步代码块的方式保证线程安全
- 关于网宿厦门研发中心笔试的一道PV操作题:利用java中的多线程实现生产者与消费者的同步问题
- JAVA基础再回首(二十四)——多线程的概述、实现方式、线程控制、生命周期、多线程程序练习、安全问题的解决
- java多线程实现火车售票系统 以及java中的同步的实现 同步块 和同步方法同时 同步
- Java多线程的两种实现方式的区别以及同步问题中的锁对象深刻解析
- java多线程实现主线程等待子线程执行完问题
- 多线程经典案例——生产者/消费者问题的Java实现与详解
- Java实现 简单的多线程“生产者-消费者”问题
- java多线程实现生产者与消费者---经典问题
- Java多线程窗口售票问题实例