`
yuyeyi
  • 浏览: 38162 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

用JAVA中的多线程示例火车站售票问题

阅读更多
/** 
*@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(); 

    } 
} 

 
分享到:
评论

相关推荐

    使用多线程模拟火车站售票系统

    在本文中,我们将深入探讨如何使用多线程技术来模拟火车站售票系统,主要涉及C++编程语言中的线程同步和Windows编程。多线程技术在处理并发任务时能显著提高程序效率,尤其在大型系统中,如火车站售票系统,它需要...

    java 多线程示例

    Java多线程是Java编程中的重要概念,尤其在开发高性能、高并发的应用中不可或缺。本示例旨在为初学者提供一个全面理解Java多线程的起点。通过学习这个实例,你可以掌握如何创建和管理线程,理解线程同步与通信的重要...

    线程同步解决火车站售票问题

    在这个“线程同步解决火车站售票问题”的例子中,我们可以通过线程同步机制来实现售票的有序、无冲突的过程。 首先,我们需要理解问题的核心:10个售票处(线程)需要共享1000张票(资源),并且每卖出一张票,必须...

    多线程设计一个火车售票模拟程序

    这个程序模拟了火车站中的售票情况,具有5个售票点,每个售票点都可以售出火车票。我们将使用多线程技术来实现这个程序,使得每个售票点可以独立地售出火车票。 多线程设计 在 Java 中,我们可以使用 Thread 类来...

    java多线程示例

    Java中的多线程有三种实现方式: 1.继承Thread类,重写run方法。Thread本质上也是一个实现了Runnable的实例,他代表一个线程的实例,并且启动线程的唯一方法就是通过Thread类的start方法。 2.实现Runnable接口,并...

    JAVA多线程编程案例_火车站售票系统

    ### JAVA多线程编程案例——火车站售票系统 #### 概述 本文档通过设计一个简单的Java多线程机制实现了一个火车站售票系统的模拟程序。该系统主要用于演示如何在Java中使用多线程技术来处理并发访问资源的问题,并...

    Java 多线程 订票 示例 线程安全

    现在,让我们来看一个简单的订票系统的Java多线程示例。假设我们有一个票务系统,其中的`TicketService`类包含一个`tickets`变量表示剩余票数: ```java public class TicketService { private int tickets = 100;...

    java 多线程并发实例

    本文将基于"java 多线程并发实例"这个主题,深入探讨Java中的多线程并发概念及其应用。 首先,我们要了解Java中的线程。线程是程序执行的基本单元,每个线程都有自己的程序计数器、虚拟机栈、本地方法栈,而共享堆...

    java多线程进度条

    在Java编程中,多线程是一项关键特性,它允许程序同时执行多个任务,提升系统效率。在处理耗时操作如大文件下载、数据处理或网络请求时,展示进度条能够提供用户友好的交互体验,让使用者了解任务的完成状态。本主题...

    JAVAJAVA多线程教学演示系统论文

    1. **多线程基础**:论文可能会首先介绍多线程的基本概念,解释为什么在JAVA中需要使用多线程,以及多线程如何提升程序的执行效率。这部分内容可能会涉及到线程的创建、启动、同步和通信等基础知识。 2. **JAVA多...

    java多线程例子

    Java 多线程例子 Java 多线程是 Java 编程语言中的一种基本概念,它允许程序同时执行多个任务,从而提高程序的性能和效率。本文将通过三个实用的例子,讲解 Java 多线程的基本概念和使用方法。 第一个例子:创建多...

    Java多线程机制(讲述java里面与多线程有关的函数)

    9.1 Java中的线程: Java程序中的线程是在操作系统级别的线程基础上进行抽象的。每个Java程序都有一个主线程,即由JVM启动并执行main方法的线程。线程代表了程序中的执行流,可以在不同的线程之间切换以共享CPU时间...

    JAVA单线程多线程

    ### JAVA中的单线程与多线程概念解析 #### 单线程的理解 在Java编程环境中,单线程指的是程序执行过程中只有一个线程在运行。这意味着任何时刻只能执行一个任务,上一个任务完成后才会进行下一个任务。单线程模型...

    java 多线程操作数据库

    1. **多线程基础**:多线程是Java编程中的一个重要概念,允许程序同时执行多个任务。在本示例中,通过创建多个`Thread`对象并调用它们的`run()`方法来实现并行处理数据库操作。 2. **数据库连接管理**:在多线程...

    JAVA多线程售票系统

    1. 多线程编程:在JAVA中,多线程编程是指在一个程序中使用多个线程来执行不同的任务,以提高程序的性能和效率。 2. 同步机制:在多线程编程中,同步机制是非常重要的,以避免线程之间的竞争和资源的共享。 3. 售票...

    Java多线程设计模式上传文件

    Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式...

    Java多线程详解及示例

    3. 多线程中的死锁与活锁 在多线程环境下,死锁是指两个或多个线程相互等待对方释放资源,导致它们都无法继续执行。活锁则是指线程不断重试获取资源,但由于其他线程持有资源不释放,导致线程陷入无限循环的状态。...

    火车票售票系统 创建多线程

    本文将基于给定的代码片段,详细介绍如何在一个简单的火车票售票系统中实现多线程。 #### 1. 多线程简介 多线程是指从软件或者硬件上实现多个线程并发执行的技术。程序执行时,进程可以创建多个线程,这些线程共享...

    java多线程经典例子

    在Java中,应该使用更安全的方式来中断线程,比如设置共享变量、使用`interrupt()`方法或抛出异常。 线程的优先级也是一个重要概念,虽然在示例中没有深入讨论。Java线程的优先级范围是1(`Thread.MIN_PRIORITY`)...

    java一个多线程的经典例子

    在Java中,实现多线程有两种主要的方法:通过继承`Thread`类或者实现`Runnable`接口。 #### 继承Thread类 在本示例中,`ThreadUseExtends`类通过继承`Thread`类来创建一个新的线程。继承`Thread`类后,我们需要...

Global site tag (gtag.js) - Google Analytics