首页 > 其他分享 >线程3 - 构建线程的3种方式

线程3 - 构建线程的3种方式

时间:2023-01-04 17:00:30浏览次数:40  
标签:方式 Thread System 构建 new 线程 public out

构建线程的三种方式

方式1:自定义线程类继承Thread

方式2:创建线程对象时传递运行逻辑

方式3:创建线程对象时传递实现了Runnable接口的类的对象

public class ThreadWork {
    public static void main(String[] args) throws Exception{

        //TODO Thread 运行
        //创建线程
//        MyThread3 t3 = new MyThread3();
//        t3.start();
//
//        MyThread4 t4 = new MyThread4();
//        t4.start();

        //TODO 创建线程对象时,可以只把逻辑传递给这个对象 -- 无需创建线程类
        //     传递逻辑时,需要遵循规则:() -> { 逻辑 }
        Thread t5 = new Thread(() -> {
            System.out.println("t5线程执行");
        });
        t5.start();

        //TODO 创建线程对象时,可以传递实现了Runnable接口的类的对象
        //     一般使用匿名类
        Thread t6 = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("t6线程执行");
            }
        });
        t6.start();

        System.out.println("main线程执行完毕");
    }
}

//TODO 声明自定义线程类
class MyThread3 extends Thread{
    //重写运行方法
    @Override
    public void run() {
        System.out.println("MyThread3:" + Thread.currentThread().getName());
    }
}
class MyThread4 extends Thread{
    //重写运行方法
    @Override
    public void run() {
        System.out.println("MyThread4:" + Thread.currentThread().getName());
    }
}

标签:方式,Thread,System,构建,new,线程,public,out
From: https://www.cnblogs.com/Ashen-/p/17025374.html

相关文章

  • Qt线程测试
    Qt线程测试#include"vcmainthread.h"VCMainThread::VCMainThread(QWidget*parent):QMainWindow(parent){ui.setupUi(this);videoThread1=newVi......
  • 网上一个哥们写的,使用Python写一个m3u8多线程下载器 -- 没用起来
    文章目录I.挖坑缘由II.功能/更新记录III.代码1.GUI2.下载工具类3.逻辑代码IV.下载地址I.挖坑缘由现在很多在线观看的视频为了防盗链使用了M3u8格式,想要下载的话比较麻烦,如果......
  • CSS - 字体属性 设置字体,大小,粗细,类型,行高,复合属性与文本属性 设置文本颜色,对齐方式,装
    1.设置字体font-family:Arial,"MicrosoftYahei";Windows默认支持的字体:"MicrosoftYahei",SimSun,Arial,Tahoma,Verdana设置字体的时候,先英后中,保证中英字体兼容到。尽......
  • java虚拟机能并发的启动多少个线程
    新建一个类,导入如下的测试代码:1publicclassTestNativeOutOfMemoryError{2publicstaticvoidmain(String[]args){34for(inti=0;;i++......
  • 线程1 - 基础
    进程与线程process进程:运行中的程序一个process可以包含多个threadthread线程:类似流水线中的段,实现进程中的一个功能一个Java进程至少包含一个主线程-main线......
  • Epidata数据构建工具
    importlombok.Getter;importlombok.extern.slf4j.Slf4j;importjava.io.UnsupportedEncodingException;importjava.util.*;/***@DescriptionTODO*@Date20......
  • 线程池c3p0和dbcp2的配置初始化实例
    一、c3p0publicclassConnectionManager{publicstaticComboPooledDataSourcedataSource;static{try{dataSource=newComboP......
  • OBS的图片滚动方式
    OBS的图片滚动非常奇葩,它是无间隙的联动模式,想要实现从左到右或从右到左的漂移滚动,要么制成视频,或gif,或者:PS新建透明底色,尺寸50*1080等适合logo漂移的距离,根据OBS输出尺寸......
  • 低代码赋能敏捷开发,YonBuilder让应用构建效率提升数倍
    一款好的低代码开发平台应该是什么样?以企业级应用构建来讲,完成一个应用复杂度随着技术的进步、需求的细化、业务要求的变化并不是逐渐降低而是逐渐提升。用户想要有更好的......
  • Java线程生命周期
    java.lang.Thread类包含一个静态枚举,它定义了它的潜在状态。在任何给定的时间点内,线程只能处于以下状态之一:NEW–一个新创建的线程,尚未开始执行RUNNABLE–正在运行......