package net.okren.java;
class SaleTicket implements Runnable{
private int tickets = 100;
public void run(){
while(tickets > 0){
sale();
}
}
private synchronized void sale(){
if(tickets > 0){
System.out.println(Thread.currentThread().getName() + "卖出 第 "+ (100 - tickets + 1)+"张票");
tickets--;
try{
Thread.sleep(500);
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
}
public class JavaTest {
public static void main(String[] args){
SaleTicket st = new SaleTicket();
Thread t1 = new Thread(st, "一号窗口");
Thread t2 = new Thread(st, "二号窗口");
Thread t3 = new Thread(st, "三号窗口");
Thread t4 = new Thread(st,"四号窗口 ");
t1.start();
t2.start();
t3.start();
t4.start();
}
}
分享到:
相关推荐
在这个“线程同步解决火车站售票问题”的例子中,我们可以通过线程同步机制来实现售票的有序、无冲突的过程。 首先,我们需要理解问题的核心:10个售票处(线程)需要共享1000张票(资源),并且每卖出一张票,必须...
这个程序模拟了火车站中的售票情况,具有5个售票点,每个售票点都可以售出火车票。我们将使用多线程技术来实现这个程序,使得每个售票点可以独立地售出火车票。 多线程设计 在 Java 中,我们可以使用 Thread 类来...
本文将从Java多线程之火车售票系统模拟实例中提取相关知识点,以便读者更好地理解Java多线程编程的基本概念和应用。 1. 多线程编程 Java多线程编程是指在一个Java程序中同时运行多个线程,以提高程序的执行效率和...
Java多线程是Java编程中的重要概念,尤其在开发高效能和并发应用程序时不可或缺。本文将深入探讨Java多线程的应用实例,这对于初学者来说是一个很好的学习起点。 首先,我们来看"SimulateRailwayStation.java"这个...
Java多线程-线程的安全问题与线程的同步机制介绍 在 Java 多线程编程中,线程安全问题是非常重要的一个话题。当多个线程访问同一个资源时,如果只有读操作那么不会出现线程安全问题,但是如果多个线程对资源进行读...
- 设计一个多线程程序:模拟火车站售票场景。 - 假设火车站有 100 张火车票要卖出,现在有 5 个售票点同时售票。 - 每个售票点由一个线程模拟。 - 要求打印出每个售票点所卖出的票号,确保不会出售重复票号。 **...