Java 线程创建方式

Java创建线程有两种方式

1.通过Runnable接口实现(推荐的方式)

(1)新建一个类实现Runnable接口,需要重写run方法

1 class MyRunnable implements Runnable{
2
3     @Override
4     public void run() {
5
6     }
7
8 }

(2)新建一个线程对象,在构造器中传入实现了Runnable接口的类

Thread thread = new Thread(new MyRunnable);

(3)调用Thread的start方法

thread.start();

2.通过继承Thread类来实现

(1)新建一个类继承Thread类,需要重写run方法

1 class MyThread extends Thread{
2     @Override
3     public void run() {
4         super.run();
5
6     }
7 }

(2)调用Thread类的start方法。

MyThread thread = new MyThread();
thread.start();

3.示例

package thread;

public class MultiThread {

    public static void main(String[] args){
        //1.创建线程的第一种方法,利用接口创建实现了该接口的类
        Runnable runnable = new MyRunnable();
        Thread thread = new Thread(runnable);
        thread.start();
        //2.创建线程的第二种方法,利用Thread开启线程  但是不推荐
        MyThread thread2 = new MyThread();
        thread2.start();
    }
}

class MyRunnable implements Runnable{

    @Override
    public void run() {
        for(int i = 0; i< 10; i++){
            try {
                System.out.println("利用runnable开启线程:" + i);
                Thread.sleep(1000);
            } catch (InterruptedException e) {

            }
        }
    }

}

class MyThread extends Thread{
    @Override
    public void run() {
        super.run();
        for (int i = 0; i < 10; i++) {
            try {
                System.out.println("利用Thread开启线程:"+i);
                Thread.sleep(1000);
            } catch (InterruptedException e) {

            }
        }
    }
}

运行结果如下:

时间: 2024-10-18 16:53:46

Java 线程创建方式的相关文章

java多线程(一)-五种线程创建方式

简单使用示例 Java 提供了三种创建线程的方法: 通过实现 Runnable 接口: 通过继承 Thread 类本身: 通过 Callable 和 Future 创建线程. 还有 定时器 线程池 下面第一个类给出了四种创建方式,第二个类是定时器示例. ① public class ThreadStartTest { public static void main(String[] args) throws ExecutionException, InterruptedException { S

随笔 ① 关于java线程 --- 创建线程的方法

java提供了三种创建线程的方法: 通过继承 Thread 类本身: 通过实现 Runnable 接口: 通过 Callable 和 Future 创建线程. 方法一:通过继承Thread类 ① 定义Thread类的子类,并重写该类的run()方法,该run方法的方法体就代表了线程要完成的任务.因此把run()方法称为执行体. ② 创建Thread子类的实例,即创建线程对象. ③ 调用线程对象的start()方法来启动该线程. 示例: package com.thread; public cla

python基础-线程创建方式

python中提供了两种创建线程的方式 1.采用thread.start_new_thread(funciton,args..) 2.集成Thread类 第一种方式 import thread as t import time #Define a function for the thread def print_time(threadName,delay): count=0; while count<5: time.sleep(delay) count+=1 print "%s(%s):

MFC 线程创建方式

MFC 分UI线程和工作线程,一般现在的应用程序都是一个主UI线程和N个工作线程来完成工作.主UI线程获取到工作线程发送的信息来刷新界面. 不过因为工作需要,MFC有要维护的项目,因此就学习一下MFC创建UI线程,使用工作线程的方式. 1.UI线程,继承CWinThread类  1 class CAddDeviceApp : public CWinThread 2 { 3     DECLARE_DYNCREATE(CAddDeviceApp) 4 protected: 5     CAddDe

java线程 — 创建和启动线程

创建和启动线程,传统有两种方式: 方式1:继承Thread类: 方式2:实现Runnable接口: 线程类(java.lang.Thread):Thread类和Thread的子类才能称之为线程类.阅读API main方法就是一个主线程 方式1: 步骤: 1. 定义一个类A继承于java.lang.Thread类. 2. 在A类中覆盖Thread类中run方法. 3. 我们在run方法中编写需要执行的操作---->run方法里的,线程执行体 4. 在main方法(线程)中,创建线程对象,并启动线程

JAVA 线程与线程池简单小结

JAVA线程创建方式: 1.继承Thread类创建线程类 继承Thread类并重写该类的run方法,该un方法代表了线程要完成的任务. 2.通过Runnable接口创建线程类 实现runnable接口,重写该接口的run()方法,该run()方法的方法体同样是该线程的线程执行体.将Runnable实现类实例作为Thread的target来创建Thread对象,该Thread对象才是真正的线程对象. 3.通过Callable和Future创建线程 (1)实现Callable接口,重写call()方

Java并发编程(01):线程的创建方式,状态周期管理

本文源码:GitHub·点这里 || GitEE·点这里 一.并发编程简介 1.基础概念 程序 与计算机系统操作有关的计算机程序.规程.规则,以及可能有的文件.文档及数据. 进程 进程是计算机中的程序,关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体:在面向线程设计的计算机结构中,进程是线程的容器.程序是指令.数据及其组织形式的描述,进程是程序的实体. 线程 线程是操作系统能够进行运算调度的最小单

Java学习(九):Java线程的两种实现方式

线程是程序中一个单一的顺序控制流程.进程内一个相对独立的.可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位.在单个程序中同时运行多个线程完成不同的工作,称为多线程. 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础. Java线程创建的两种方式: 1.继承Thread类 public class MyThread extends Thread { private String name;

java线程池原理及实现方式

线程池的定义 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务.线程池线程都是后台线程 为什么要使用线程池 1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.在一个 JVM 里创建太多的线程可能会导致系统由于过度消耗内存而用完内存或"切换过度".为了防止资源不足,服务器应用程序需要一些办法来限制任何给定时刻处理的请求数目. 线程池组成部分 1.线程池管理器(ThreadPoolManager):用于创建并管理线程池,包括 创建线程池,销