`
远东之夜
  • 浏览: 7802 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java线程implements Runnable实现

阅读更多
package com.tianmushanlu.thread;
/**
 * 创建步骤:
 *		 1. 自定义一个类实现Runnable接口。	
 *		 2. 实现Runnable接口 的run方法,把自定义线程的任务定义在run方法上。
 *		 3. 创建Runnable实现类对象。
 *		 4. 创建Thread类 的对象,并且把Runnable实现类的对象作为实参传递。
 * 		 5. 调用Thread对象 的start方法开启一个线程。
 * 
 * 注意:
 *       Runnable实现类的对象并 不是一个线程对象,只不过是实现了Runnable接口的对象而已。
 *  只有是Thread或者是Thread的子类才是线程对象。
 * 
 * 
 *
 */
class TicketWindows implements Runnable{

	Integer num = 50;
	@Override
	public void run() {
		while(true) {
			synchronized ("锁对象") {
				if(num > 0) {
					System.out.println(Thread.currentThread().getName()+"售出了第"+num+"票");
					try {
						Thread.sleep(1000);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
					num--;
				}else{
					System.out.println("票以售罄...........");
					break;
				}
			}	
		}
		
	}
	
}


public class ThreadDemo2 {
	public static void main(String[] args) {
		//创建了一个Runnable实现类的对象
		TicketWindows TicketWindows = new TicketWindows();
		Thread thread1 = new Thread(TicketWindows,"窗口1");
		Thread thread2 = new Thread(TicketWindows,"窗口2");
		Thread thread3 = new Thread(TicketWindows,"窗口3");
		//开启3个线程售票
		thread1.start();
		thread2.start();
		thread3.start();
	}
	

}

分享到:
评论

相关推荐

    synchronized 实现多线程 implements Runnable

    一个简单的多线程代码示例,Java实现,用于实现同一时刻,只允许一个线程调用执行的代码块或类,即synchronized的如何使用(多线程实现),实现 Runnable

    java多线程Runnable实例

    `Runnable`接口是Java实现多线程的一种方式,通过实现`Runnable`接口并创建`Thread`对象,可以轻松地创建并运行多线程。`TestRunnable.java`文件展示了这一过程,同时也提醒我们在实际开发中要注意线程同步和通信,...

    implements Runnable

    "implements Runnable"是Java编程语言中的一个重要概念,它与多线程编程紧密相关。在Java中,线程是程序执行的最小单位,而创建线程主要有两种方式:继承Thread类和实现Runnable接口。本项目是一个Java小游戏,核心...

    Java有两种实现多线程的方式:通过Runnable接口、通过Thread直接实现,请掌握这两种实现方式,并编写示例程序。

    在Java中,实现多线程的两种主要方式分别是:**通过继承`Thread`类** 和 **实现`Runnable`接口**。下面将详细介绍这两种方式,并提供相应的示例程序。 #### 一、通过继承`Thread`类实现多线程 在Java中,可以通过...

    java线程.pdf

    Java线程有五种基本状态:新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Terminated)。线程的状态会随着程序的运行而变化: 1. **新建**:当创建了一个新的线程对象后,该线程处于新建...

    java线程_Thread_Runnable

    Java提供了两种创建线程的方式:继承Thread类和实现Runnable接口。 1. 继承Thread类创建线程: 当你选择继承Thread类时,你需要创建一个新的类,这个类扩展自Thread类。Thread类已经实现了Runnable接口,所以你不...

    Java线程的详细讲解

    本文从Java线程的基础入手,介绍了线程的两种创建方式——继承`Thread`类和实现`Runnable`接口,讨论了线程的基本操作,最后深入探讨了同步和死锁的概念。通过学习这些内容,读者可以更好地理解和运用Java多线程技术...

    Java多线程实现异步调用实例

    在Java中,我们可以通过继承`Thread`类或实现`Runnable`接口来创建线程。在这个实例中,可能有四个线程:主线程(Main)以及名为A、B和C的三个子线程。每个子线程可能代表不同的任务,它们并行运行,从而加快整体...

    Java多线程技术 线程的死锁,详细阐述了多线程的两种实现方法: 由Thread类派生子类;实现Runnable接口

    本文将详细介绍Java多线程的基本概念、线程的生命期、线程的状态转换、线程调度原则以及如何实现线程的两种常见方式。 #### 二、线程的相关概念 **1. 进程与线程的区别** - **进程**:是一个正在执行的程序实例,...

    Java多线程-创建多线程的基本方式二:实现Runnable接口

    - **创建Runnable实现类的实例**:通过实例化这个实现类,为后续创建`Thread`对象做准备。 - **启动线程**:创建`Thread`对象,将`Runnable`实现类的实例作为参数传递给`Thread`的构造函数,然后调用`Thread`对象...

    java多线程Demo

    Java线程有10个优先级(MIN_PRIORITY, NORM_PRIORITY, MAX_PRIORITY),默认优先级是NORM_PRIORITY。但是,线程优先级并不保证绝对的执行顺序,操作系统调度策略可能影响实际执行顺序。 7. join()方法: 一个线程...

    简单的java线程demo

    Java线程是多任务编程的重要概念,特别是在大型的、复杂的软件系统中,它允许程序同时执行多个不同的任务,提升程序的并发性和效率。本示例"简单的Java线程demo"旨在帮助初学者理解如何在Java中创建和管理线程。 在...

    多线程两种实现方式Java

    本篇将详细讲解Java中实现多线程的两种主要方法:继承Thread类和实现Runnable接口。 ### 继承Thread类 1. **创建子类**:首先,我们需要创建一个新的类,该类继承自Java的`Thread`类。这样,我们的类就拥有了`...

    java中的多线程内部类实现数据共享和Runnable实现数据共享借鉴.pdf

    本篇将探讨两种在Java中实现多线程数据共享的方式:通过内部类和实现`Runnable`接口。 首先,让我们来看看如何使用`Runnable`接口实现数据共享。`Runnable`接口是Java提供的一种创建线程的方式,它允许我们将线程的...

    【java学习记录】11.多线程实现阶乘计算(Thread类和Runnable接口)

    总结来说,Java中的`Thread`类和`Runnable`接口提供了两种创建多线程的方式,它们都可用于实现阶乘计算。理解这些基础概念是进行并发编程的关键,也是提升程序效率的重要手段。在实际应用中,应根据项目需求和最佳...

    多线程的Runnable_和thread有什么区别

    在Java中实现多线程有两种主要方式:一种是继承`Thread`类;另一种是实现`Runnable`接口。本文将深入探讨这两种方法的区别,帮助初学者更好地理解并选择适合场景的多线程实现方案。 #### 一、继承Thread类 1. **...

    Java 模拟线程并发

    在Java中,线程并发可以通过多种方式实现,包括继承Thread类、实现Runnable接口以及使用ExecutorService和Future等高级API。下面将详细探讨这些知识点。 首先,Java中创建线程主要有两种方法。一种是通过继承Thread...

    java线程入门级书籍

    ### Java线程入门知识点详解 #### 一、Java线程基础知识概述 **1.1 什么是线程?** 线程是程序执行流的最小单元,是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。在Java中...

    java线程:两种传统的实现方式.zip

    总之,Java线程的实现可以通过继承`Thread`类或实现`Runnable`接口。这两种方法的核心都是重写`run()`方法,定义线程执行的任务。在多线程环境下,确保线程安全至关重要,可以使用`synchronized`关键字或其他并发...

Global site tag (gtag.js) - Google Analytics