`
lichaobao
  • 浏览: 47256 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java 线程创建和比较

    博客分类:
  • java
阅读更多
创建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();

      }
   }
0
1
分享到:
评论

相关推荐

    Java使用Callable和Future创建线程操作示例

    此外,Java中的线程创建方式还包括使用Runnable接口、Thread类、Executor框架等。不同的线程创建方式都有其优缺,需要根据实际情况选择合适的线程创建方式。 本文主要介绍了Java使用Callable和Future创建线程操作的...

    Java线程学习和总结

    Java线程的创建主要有两种方式:继承`Thread`类和实现`Runnable`接口。继承`Thread`类时,重写`run()`方法并在其中编写线程代码;实现`Runnable`接口则需要将线程代码放入`run()`方法中,并通过`Thread`类的构造函数...

    java线程.pdf

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

    java线程创建 ThreadTester.java

    线程最基本的知识,主要是创建线程,等等。

    在Java中创建线程有两种方法

    Java提供了两种主要的方法来创建线程,分别是直接继承自`Thread`类和实现`Runnable`接口。这两种方法各有其特点和适用场景。 1. **继承Thread类**: 当你选择继承`Thread`类时,你需要创建一个新的类,该类直接...

    Java线程.ppt

    学习Java线程,理解其创建、状态转换、调度和控制,以及如何处理线程间的互斥和同步,对于开发高效、稳定的并发程序至关重要。通过深入研究这些概念,开发者能够编写出更符合现代计算需求的高质量软件。

    Java线程创建的四种方式

    Java线程是并发编程的基础,它允许程序同时执行多个任务,极大地提高了程序的效率和响应速度。在Java中,有四种主要的线程创建方法,它们各有特点,适应不同的应用场景。接下来,我们将深入探讨这四种方式及其使用...

    Java线程状态流转图

    该图形展示了Java线程从创建到终止的整个生命周期,并详细介绍了每种状态的特点和转换规则。 NEW(初始化状态) 在Java线程的生命周期中,NEW是最初始的状态。在这个状态下,线程对象已经创建,但尚未启动。只有...

    Java线程详解大全

    Java线程是并发编程的核心部分,它允许程序在同一时间执行多个独立的任务,从而提高系统效率和响应速度。本文将深入探讨Java线程的概念、生命周期、实现方式以及相关的同步机制。 首先,理解线程的基本概念至关重要...

    JAVA线程dump的分析

    在分析JAVA线程dump时,需要了解JAVA线程的编程原理和同步机制,包括线程的状态、调用堆栈和Monitor的状态。不同JAVA虚拟机的线程dump的创建方法和文件格式是不一样的,不同的JVM版本,dump信息也有差别。 在实际...

    java线程深入解析

    这种轻量级的特性使得线程相比进程创建和销毁的开销更小,更适合用于实现并发。 2. **线程的创建** 创建Java线程有两种方式:继承`Thread`类并重写`run()`方法,或者实现`Runnable`接口并提供`run()`方法。当线程...

    Java线程(第三版)

    《Java线程(第三版)》是一本深入探讨Java线程技术的专业书籍,旨在帮助开发者理解和掌握Java平台上的多线程编程。Java线程是并发编程的重要组成部分,它允许程序同时执行多个任务,从而充分利用系统资源,提高程序的...

    Java 线程的学习和使用

    总的来说,理解和掌握Java线程的创建、运行、同步以及线程安全,是成为一名合格的Java开发者必不可少的技能。通过学习和实践,开发者可以编写出更加高效、健壮的多线程应用程序,以应对复杂的并发编程挑战。

    Java线程创建与管理:深入理解与实践指南

    ### Java线程创建与管理:深入理解与实践指南 #### 引言 多线程作为Java程序设计中的重要概念之一,使开发者能够构建并行执行的任务,进而提高程序的效率和响应速度。Java语言提供了丰富的工具和技术来支持线程的...

    JAVA线程学习(源代码)

    ExecutorService可以帮助我们管理和控制线程池,减少线程创建和销毁的开销。Future表示异步计算的结果,可以用来检查任务是否完成或者获取结果。Semaphore用于控制同时访问特定资源的线程数量,而CyclicBarrier则...

    java线程文档大全

    在Java中,线程是通过Java.lang.Thread类或实现Runnable接口来创建和管理的。这份“java线程文档大全”包含了关于Java线程的广泛知识,以下是其中的一些关键点: 1. **线程概念**:线程是程序执行的最小单位,每个...

    java线程.rar

    5. **线程池**:通过`ExecutorService`和`ThreadPoolExecutor`,可以有效地管理和控制线程,避免大量线程创建和销毁带来的性能开销。 6. **守护线程(Daemon)**:不会阻止程序的正常退出,如后台日志记录线程。 7...

    Java的线程和Java AppletJava的线程和Java AppletJava的线程和Java Applet

    5. **Applet API**:Java提供了一套Applet API,用于创建和管理Applet,如`init()`, `start()`, `stop()`, `paint()`, `destroy()`等方法。 6. **Applet的局限性**:由于安全性和浏览器兼容性问题,现代Web开发中...

    Java线程使用教程

    Java线程是Java编程语言中的一个核心概念,它允许程序同时执行多个任务,极大地提高了程序的并发性和效率。本教程将深入探讨Java线程的使用,帮助开发者掌握这一关键技术。 一、线程基础 1. **线程的概念**:线程...

    java线程实例 各种小Demo

    Java线程是多任务编程的重要概念,它允许程序同时执行多个独立的任务,从而提高系统效率和响应速度。在Java中,线程可以分为用户线程和守护线程,前者是程序运行的基础,而后者是在所有用户线程结束时才终止的后台...

Global site tag (gtag.js) - Google Analytics