首页 > 编程语言 >Java中线程的几种创建方式

Java中线程的几种创建方式

时间:2024-03-13 15:32:05浏览次数:36  
标签:Runnable Java Tread Thread 创建 几种 new 中线 public

本文章将简单介绍有关java的四种线程创建方式


一.继承 Thread 类

//继承了Tread的类->MyTread
public class MyThread extends Thread{
    //线程启动后将要运行的代码
    @Override
    public void run() {
        System.out.println("通过继承Thread的方式来创建线程");
    }
}
class Tread_Test{
    public static void main(String[] args) {
        //创建线程对象t1
        MyThread t1=new MyThread();
        //启动t1线程
        t1.start();
    }
}

二.实现 Runnable 接口

//创建一个类实现Runnable接口
class MyRunnable implements Runnable{
    
    @Override
    public void run() {
        System.out.println("通过Runnable接口来创建线程");
    }
}

class Tread_Test{
    public static void main(String[] args) {
        MyThread t1=new MyThread();
        t1.start();

        //通过new MyRunnable()来创建一个新的线程
        Thread t2=new Thread(new MyRunnable());
        t2.start();
    }
}

三.匿名内部类创建 Thread 子类对象

class Tread_Test{
    public static void main(String[] args) {

        //这里默认创建一个继承了Tread类的匿名类,并重写了run()方法
        Thread t3=new Thread(){
            @Override
            public void run() {
                System.out.println("通过匿名内部类创建Tread子类对象");
            }
        };
        t3.start();
        
        //这里默认创建一实现Runnable接口的匿名类,并重写了run()方法
        Thread t4=new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("通过匿名内部类创建实现Runnable接口的对象");
            }
        });
        t4.start();
    }
}

四.lambda 表达式创建 Runnable 子类对象

class Tread_Test{
    public static void main(String[] args) {
     
        Thread t5=new Thread(()->{
            System.out.println("通过lambda表达式来创建Tread子类对象");
        });
        t5.start();
    }
}

如果对lambda表达式不熟悉,可以参考一下lambda表达式-CSDN博客


那么到这里,关于线程的四种创建方式就介绍完了~~

标签:Runnable,Java,Tread,Thread,创建,几种,new,中线,public
From: https://blog.csdn.net/a1806542392/article/details/136680492

相关文章

  • java毕业设计基于微信小程序的新闻管理系统
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着移动互联网技术的飞速发展,智能手机的普及率日益增高,人们获取信息的方式也发生了翻天覆地的变化。微信小程序作为一种新型的应用形态,因其无需下载安装......
  • Java基础 --- 综合练习
    Java基础---综合练习案例一卖飞机票需求:机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。importjava.util.Scanner;public......
  • 【Javascript】 Promise 对象(一)
    Promise的含义Promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了Promise对象。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操......
  • JVM原理(GC,内存),JAVA底层
    1.JVM内存模型线程独占:栈,本地方法栈,程序计数器线程共享:堆,方法区2.什么是栈又称方法栈,线程私有的,线程执行方法是都会创建一个栈阵,用来存储局部变量表,操作栈,动态链接,方法出口等信息.调用方法时执行入栈,方法返回式执行出栈.3.什么是本地方法栈与栈类似,......
  • JAVA的多线程及并发
    1.Java中实现多线程有几种方法继承Thread类;实现Runnable接口;实现Callable接口通过FutureTask包装器来创建Thread线程;使用ExecutorService、Callable、Future实现有返回结果的多线程(也就是使用了ExecutorService来管理前面的三种方......
  • springboot/java/php/node/python小区物业管理小程序【计算机毕设】
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着城市化进程的加速,住宅小区作为城市生活的基本单元,其管理效率和服务质量直接影响着居民的生活体验。传统的物业管理方式往往依赖于人工操作,不仅耗时......
  • java面向全面发展的数计学院第二课堂与社团管理系统(ssm)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在当前的教育体系中,第一课堂(即传统的课堂教学)虽然扮演着核心角色,但随着素质教育的深入推进和学生个性化发展需求的日益增长,第二课堂和社团活动逐渐显示出......
  • java面向特定群体的健康管理平台(ssm)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在当今社会,随着科技的飞速发展和生活节奏的加快,人们对健康管理的需求日益增长。特别是对于特定群体,如老年人、慢性病患者、孕妇等,他们需要更加细致、专业......
  • springboot/java/php/node/python企业微培训小程序【计算机毕设】
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着科技的迅猛发展,移动互联网已成为企业培训的新阵地。传统的面对面培训模式因其时间、地点的限制性逐渐显得不够灵活,而小程序作为一种轻量级的应用,能够......
  • Java获取堆栈信息的3种方法
    本文分享自华为云社区《Java如何获取堆栈信息》,作者:皮牙子抓饭。在Java编程中,获取堆栈信息对于调试和故障排除非常重要。Java提供了多种方式来获取当前线程的堆栈信息,以便了解线程执行的情况。下面介绍几种常用的方法:1.使用Thread.currentThread().getStackTrace()可以通过Th......