`
825197453
  • 浏览: 101759 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

售票线程

阅读更多
/**
 * 
 * 有100张票 四个售票窗口 每个窗口代表一个线程
 *
 */
public class Test7 {
	public static void main(String[] args) {
		SaleTicket t = new SaleTicket();
		Thread t1 = new Thread(t);
		Thread t2 = new Thread(t);
		Thread t3 = new Thread(t);
		Thread t4 = new Thread(t);
		t1.start();
		t2.start();
		t3.start();
		t4.start();
		} 


}


//当前线程使用sleep()的时候那么synchronized同步就会失效,会执行其他的线程
public class SaleTicket implements Runnable {
	private int tickets = 100;

	public void run() {
		while (true) {
			synchronized (this) {
				
				if (tickets > 0) {
					try {
						Thread.sleep(10);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
					Thread t = Thread.currentThread();
					System.out.println(t.getName() + "卖出车票:" + tickets);
					tickets--;
				} else {
					break;
				}
			}
		}
	}
}

 

分享到:
评论

相关推荐

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

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

    公交车司机售票线程问题

    pthread.h是UNIX的一个库,windows需要拖 库

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

    - `DWORD WINAPI ThreadProc1(LPVOID lpParameter)` 和 `DWORD WINAPI ThreadProc2(LPVOID lpParameter)` 是两个线程函数,它们分别代表第一个和第二个售票线程。 - **事件句柄**:`HANDLE hEvent;` 定义了一个事件...

    Mihoks#Java-Concurrent-Notes#3-1-案例-售票线程状态1

    title: 3-1-案例-售票&线程状态- Java多线程基础- Java多线程案例categories: Java多线程基础售票案例线程状态售票的动作需要被

    Java多线程同步机制在网络售票系统中的应用.pdf

    文章中提供了一个简单的示例,用TicketSale类实现了Runnable接口,通过synchronized关键字修饰代码块,在售票线程中控制对票数的访问。在这个示例中,通过一个while循环来模拟售票过程,每次售票前通过synchronized...

    一个单线程的工程(1460kb)

    标题中的“一个单线程的工程”指的是一个计算机程序或软件开发项目,它仅使用一个执行线程来处理所有任务。在多线程编程中,不同的线程可以并发执行不同的任务,提高程序效率,但本工程选择单线程设计可能出于简化、...

    JAVA多线程售票系统

    JAVA多线程售票系统 本资源摘要信息将围绕JAVA多线程售票系统展开,涵盖多线程编程、同步机制和售票系统的设计思想。 多线程编程 在JAVA中,多线程编程是指在一个程序中使用多个线程来执行不同的任务,以提高程序...

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

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

    多线程+售票案例.docx

    多线程+售票案例 在软件开发中,多线程是一种非常重要的概念,它可以大大提高程序的执行效率和响应速度。在这个文件中,我们将详细介绍多线程的概念、特点、创建方法、线程状态、线程之间的关系等知识点,并通过...

    售票窗口模拟线程同步

    ### 售票窗口模拟线程同步:深入解析与实现 在多线程环境中,线程同步是一项关键的技术,用于确保多个线程访问共享资源时的正确性和一致性,避免资源竞争和数据不一致等问题。本文将通过一个具体的案例——售票窗口...

    delphi 多线程模拟售票

    本教程将聚焦于使用Delphi这一强大的Windows应用程序开发工具来实现多线程,特别是模拟一个售票系统,以展示多线程如何在实际场景中应用。 Delphi是Borland公司(现Embarcadero Technologies)推出的一款集成开发...

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

    "多线程设计一个火车售票模拟程序" 在本实验中,我们将使用 Java 语言来设计一个火车售票模拟程序。这个程序模拟了火车站中的售票情况,具有5个售票点,每个售票点都可以售出火车票。我们将使用多线程技术来实现这...

    07Java 多线程编程1

    在描述中提到的电影院售票模拟,需要创建多个售票线程,每个线程代表一个售票窗口。线程间需同步以保证电影票的有序出售,避免重复售出同一张票。可以使用synchronized关键字或Lock接口来实现同步控制。 7. **题目...

    多线程模拟汽车司机与售票员同步

    在本实验中,我们探讨了如何使用C语言和Windows API实现多线程来模拟汽车司机与售票员的同步操作。这个实验旨在展示并发执行的线程如何通过同步机制协同工作,确保程序的正确运行。 首先,多线程是操作系统中的一种...

    java火车售票

    在火车售票系统中,当票池为空时,售票线程可能需要等待其他线程补充票池后再继续售票。 9. **设计模式** 在多线程编程中,生产者消费者模式、读写锁模式等设计模式经常被用来解决并发问题。在火车售票系统中,...

    多线程 售票系统

    在计算机科学领域,多线程是一种...总结来说,"多线程售票系统"涉及了线程的创建、线程入口函数、线程同步与通信、异常处理、资源管理等多个关键概念。理解和正确应用这些概念对于构建高效、稳定的并发系统至关重要。

    C程序设计实验指导书,C语言

    C语言是一种广泛应用于系统开发、软件工程以及嵌入式系统的高级编程语言,因其高效、灵活和可移植性而备受程序员喜爱。"C程序设计实验指导书"是学习C语言编程的重要辅助材料,它通常包含一系列小实验,旨在帮助初学...

    操作系统概念课后答案

    6. **并行与分布式系统**:介绍并发编程的挑战、线程和进程间的协作,以及分布式系统的原理和通信机制。 7. **调度算法**:学习不同的进程调度策略,如FCFS(先来先服务)、SJF(最短作业优先)、优先级调度和多级...

    Java多线程同步机制在售票系统的实现

    ### Java多线程同步机制在售票系统的实现 #### 一、引言 随着计算机硬件的发展,多核处理器已经成为主流配置,这为多线程编程提供了更广阔的应用场景。多线程能够充分利用多核处理器的优势,提高程序的并发性和...

    简单多线程

    1. 售票线程:负责处理购票请求,检查库存,扣除票数,并更新数据库。 2. 查询线程:实时读取数据库中的票务信息,快速响应用户的查询请求。 3. 更新数据库线程:在后台定期同步购票和退票操作,确保数据的一致性和...

Global site tag (gtag.js) - Google Analytics