创建java 线程有两种方法:继承thread类或实现Runnable接口的重载run()方法
1、继承Thread方法创建线程
public class ThreadDemo extends Thread{
private String address;
private int tickets = 10;
public ThreadDemo (String address){
this.address = address;
}
public void run(){
while(tickets > 0){
System.out.println(address+"卖出:"+tickets--+"号票");
}
}
}
2、实现Runnable接口创建线程
public class RunnableDemo implements Runnable{
private String address;
private int tickets = 10;
public RunnableDemo (){}
public RunnableDemo (String address){
this.address = address;
}
publicvoid run(){
while(tickets > 0){
System.out.println(address+"卖出:"+tickets--+"号票");
}
}
}
3、执行
public class Demo extends THread{
public static void main(){
//1、调用Thread
ThreadDemo threadDemo1 = new ThreadDemo("窗口1");
ThreadDemo threadDemo2 = new ThreadDemo("窗口2");
ThreadDemo threadDemo3 = new ThreadDemo("窗口3");
threadDemo1.start();
threadDemo2.start();
threadDemo3.start();
//2、调用Runnable(非资源共享)
RunnableDemo runnableDemo1 = new RunnableDemo("窗口1");
RunnableDemo runnableDemo2 = new RunnableDemo("窗口2");
RunnableDemo runnableDemo3 =new RunnableDemo("窗口3");
Thread thread1 = new Thread(runnableDemo1);
Thread thread2 = new Thread(runnableDemo2);
Thread thread3 = new Thread(runnableDemo3);
thread1.start();
thread2.start();
thread3.start();
//3、资料共享只能调用Runnable
RunnableDemo runnableDemo = new RunnableDemo("窗口1");
Thread thread1 = new Thread(runnableDemo,"窗口1");
Thread thread2 = new Thread(runnableDemo,"窗口2");
Thread thread3 = new Thread(runnableDemo,"窗口3");
thread1.start();
thread2.start();
thread3.start();
}
}
分享到:
相关推荐
此外,Java中的线程创建方式还包括使用Runnable接口、Thread类、Executor框架等。不同的线程创建方式都有其优缺,需要根据实际情况选择合适的线程创建方式。 本文主要介绍了Java使用Callable和Future创建线程操作的...
Java线程的创建主要有两种方式:继承`Thread`类和实现`Runnable`接口。继承`Thread`类时,重写`run()`方法并在其中编写线程代码;实现`Runnable`接口则需要将线程代码放入`run()`方法中,并通过`Thread`类的构造函数...
Java线程有五种基本状态:新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Terminated)。线程的状态会随着程序的运行而变化: 1. **新建**:当创建了一个新的线程对象后,该线程处于新建...
线程最基本的知识,主要是创建线程,等等。
Java提供了两种主要的方法来创建线程,分别是直接继承自`Thread`类和实现`Runnable`接口。这两种方法各有其特点和适用场景。 1. **继承Thread类**: 当你选择继承`Thread`类时,你需要创建一个新的类,该类直接...
学习Java线程,理解其创建、状态转换、调度和控制,以及如何处理线程间的互斥和同步,对于开发高效、稳定的并发程序至关重要。通过深入研究这些概念,开发者能够编写出更符合现代计算需求的高质量软件。
Java线程是并发编程的基础,它允许程序同时执行多个任务,极大地提高了程序的效率和响应速度。在Java中,有四种主要的线程创建方法,它们各有特点,适应不同的应用场景。接下来,我们将深入探讨这四种方式及其使用...
该图形展示了Java线程从创建到终止的整个生命周期,并详细介绍了每种状态的特点和转换规则。 NEW(初始化状态) 在Java线程的生命周期中,NEW是最初始的状态。在这个状态下,线程对象已经创建,但尚未启动。只有...
Java线程是并发编程的核心部分,它允许程序在同一时间执行多个独立的任务,从而提高系统效率和响应速度。本文将深入探讨Java线程的概念、生命周期、实现方式以及相关的同步机制。 首先,理解线程的基本概念至关重要...
在分析JAVA线程dump时,需要了解JAVA线程的编程原理和同步机制,包括线程的状态、调用堆栈和Monitor的状态。不同JAVA虚拟机的线程dump的创建方法和文件格式是不一样的,不同的JVM版本,dump信息也有差别。 在实际...
这种轻量级的特性使得线程相比进程创建和销毁的开销更小,更适合用于实现并发。 2. **线程的创建** 创建Java线程有两种方式:继承`Thread`类并重写`run()`方法,或者实现`Runnable`接口并提供`run()`方法。当线程...
《Java线程(第三版)》是一本深入探讨Java线程技术的专业书籍,旨在帮助开发者理解和掌握Java平台上的多线程编程。Java线程是并发编程的重要组成部分,它允许程序同时执行多个任务,从而充分利用系统资源,提高程序的...
总的来说,理解和掌握Java线程的创建、运行、同步以及线程安全,是成为一名合格的Java开发者必不可少的技能。通过学习和实践,开发者可以编写出更加高效、健壮的多线程应用程序,以应对复杂的并发编程挑战。
### Java线程创建与管理:深入理解与实践指南 #### 引言 多线程作为Java程序设计中的重要概念之一,使开发者能够构建并行执行的任务,进而提高程序的效率和响应速度。Java语言提供了丰富的工具和技术来支持线程的...
ExecutorService可以帮助我们管理和控制线程池,减少线程创建和销毁的开销。Future表示异步计算的结果,可以用来检查任务是否完成或者获取结果。Semaphore用于控制同时访问特定资源的线程数量,而CyclicBarrier则...
在Java中,线程是通过Java.lang.Thread类或实现Runnable接口来创建和管理的。这份“java线程文档大全”包含了关于Java线程的广泛知识,以下是其中的一些关键点: 1. **线程概念**:线程是程序执行的最小单位,每个...
5. **线程池**:通过`ExecutorService`和`ThreadPoolExecutor`,可以有效地管理和控制线程,避免大量线程创建和销毁带来的性能开销。 6. **守护线程(Daemon)**:不会阻止程序的正常退出,如后台日志记录线程。 7...
5. **Applet API**:Java提供了一套Applet API,用于创建和管理Applet,如`init()`, `start()`, `stop()`, `paint()`, `destroy()`等方法。 6. **Applet的局限性**:由于安全性和浏览器兼容性问题,现代Web开发中...
Java线程是Java编程语言中的一个核心概念,它允许程序同时执行多个任务,极大地提高了程序的并发性和效率。本教程将深入探讨Java线程的使用,帮助开发者掌握这一关键技术。 一、线程基础 1. **线程的概念**:线程...
Java线程是多任务编程的重要概念,它允许程序同时执行多个独立的任务,从而提高系统效率和响应速度。在Java中,线程可以分为用户线程和守护线程,前者是程序运行的基础,而后者是在所有用户线程结束时才终止的后台...