`

简单多线程卖票代码

 
阅读更多

 

public class Thread2 {
	public static void main(String[] args) {
		ShareData d = new ShareData();
//两个窗口卖票
		new Thread(d).start();
		new Thread(d).start();
	}
}


class ShareData implements Runnable {
	
	private int count = 100;
	
	@Override
	public void run() {
		synchronized (ShareData.class) {
			while (count > 0) {
				try {
					Thread.sleep(1000);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				count--;
				System.out.println(Thread.currentThread().getName() + "余票: " + count);
			} 
		}
	}
	
	
	
}

 

 

分享到:
评论

相关推荐

    duoxiancheng.rar_多线程_多线程卖票

    文件“duoxiancheng.txt”很可能是该项目的源代码或者详细说明,包含了如何实现这个多线程卖票程序的具体步骤。分析这个文件可以帮助我们更好地理解如何在实际编程中应用这些概念和技术。 总结来说,多线程技术是...

    java实现多线程卖票功能

    在本文中,我们将通过一个简单的示例程序,来详细介绍如何使用Java实现多线程卖票功能。 首先,需要了解Java中多线程编程的基础知识。在Java中,有两种方式可以实现多线程:继承Thread类和实现Runnable接口。在本文...

    OC多线程管理

    在iOS和OS X开发中,Objective-C(OC)的多线程管理是至关重要的技能,它关乎应用的性能、响应速度以及资源利用效率。...通过合理的多线程管理,不仅能优化程序性能,还能提高代码的可读性和可维护性。

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

    "多线程设计一个火车售票模拟程序" 在本实验中,我们将使用 Java 语言来设计一个火车售票模拟程序。这个程序模拟了火车站中的售票情况,...这个程序可以作为一个简单的示例,展示了多线程技术在实际应用中的重要性。

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

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

    Java多线程同步具体实例.doc

    Java多线程同步是编程中一个非常重要的概念,特别是在并发编程中,用于解决多个线程访问共享资源时可能引发的数据不一致问题。本实例通过一个简单的火车票售票系统来演示同步机制的应用。 在这个实例中,我们创建了...

    简单的多线程同步实例

    本实例主要关注如何在Java中实现简单的多线程同步,以模拟一个售票系统的操作。在这个系统中,多个线程可能会同时尝试卖出同一张票,如果没有适当的同步措施,就可能导致数据不一致和错误。 首先,我们需要理解多...

    JavaSE 多线程必背程序清单

    在下面的代码中,多个线程尝试同时销售同一张票,可能导致卖出超过总票数的问题: ```java class Ticket extends Thread { private static int num = 100; public void run() { while (true) { if (num > 0) {...

    c#线程同步

    在C#编程中,线程同步是一个至关重要的概念,特别是在多线程环境下,它用于控制多个线程对共享资源的访问,确保数据的一致性和完整性。本示例通过一个简单的售票场景来阐述C#线程同步的应用。 首先,我们要了解什么...

    线程同步编程实例

    在售票系统中,如果限制同时只有n个线程卖票,可以使用Semaphore。 ```java Semaphore semaphore = new Semaphore(3); // 允许三个线程同时卖票 public void sellTicket() { semaphore.acquire(); try { // 销售...

    Java多线程模拟售票程序和线程安全问题

    这个需求看似简单,但事实上隐藏了两个重要的问题:为什么100张票被卖出了300张票?如何解决线程安全问题? 问题1:为什么100张票被卖出了300张票? 原因是因为tickets是非静态的,非静态的成员变量数据是在每个...

    浅谈Java多线程的优点及代码示例

    下面是一个简单的Java多线程售票的例子: ```java public class Station extends Thread { private static int tickets = 20; private static final Object lock = new Object(); public Station(String name) ...

    Java并发编程之常用的多线程实现方式分析

    Java并发编程之常用的多线程实现方式分析 Java并发编程是指在Java语言中实现多线程编程的技术和方法。多线程编程是指在一个程序中可以同时执行多个线程,从而提高程序的执行效率和响应速度。在Java语言中,实现多...

    笔试Java3答案.doc

    以下是一个简单的 Java 多线程编程示例,演示了如何使用实现 Runnable 接口来实现多线程: ``` public class ThreadDemo5 { public static void main(String[] args) { Runnable r = new ThreadTest5(); new ...

    详解多线程及Runable 和Thread的区别

    继承 Thread 类是最简单的一种多线程实现方式。Thread 类提供了一个 run 方法,用于定义线程的执行逻辑。在上面的示例代码中,我们继承了 Thread 类,定义了一个 MyThreadTest 类。然后,我们创建了三个 ...

    零起点打开ja-va世界的大门视频-第二阶段视频-day11

    在Java编程语言中,多线程是核心特性之一,它使得程序可以同时执行多个任务,提高了计算机系统的资源利用率和效率。本课程“零起点打开ja-va世界的大门视频-第二阶段视频-day11”专注于Java基础中的多线程概念,帮助...

    女朋友也能看懂的多线程同步

    在IT领域,多线程和线程同步是并发编程中的核心概念,特别是在高并发系统设计中至关重要。本文将深入探讨这些概念,以便让非专业背景的读者也能理解。 首先,我们要明白什么是线程安全。线程安全指的是在多线程环境...

    python并发编程之多进程、多线程、异步和协程详解

    并发执行可能导致数据竞争问题,例如在多线程火车售票系统中,如果没有同步机制,可能会卖出超过实际票数的票。Python提供了thread和threading模块来支持多线程,其中threading模块更为强大,提供了Thread类用于创建...

    浅谈Java的两种多线程实现方式

    例如,`MyThread`类就是一个简单的`Thread`子类,其`run()`方法包含了卖票的操作。 2. **示例分析**:在程序1中,我们创建了三个`MyThread`对象`mt1`, `mt2`, `mt3`,每个对象都是一个独立的线程。当调用`start()`...

    Java软件开发实战 Java基础与案例开发详解 12-4 线程的同步 共15页.pdf

    比如,在奥运门票销售系统的例子中,五个销售点共同销售100张门票,如果不进行同步控制,则可能有两个销售点同时卖出同一张票,这显然是不可接受的。 #### 12.4.2 同步方法 - **同步方法**:`synchronized`关键字...

Global site tag (gtag.js) - Google Analytics