首页 > 编程语言 >java 开启子线程的三种方式

java 开启子线程的三种方式

时间:2023-02-01 20:34:53浏览次数:37  
标签:Runnable java Thread void 开启 System 线程 new public

1. 实现多线程的方式

继承Thread类
实现Runnable接口
一般使用匿名的方式

2. 示例

package comi.example.liy.mytestdemo;

import org.junit.Test;

import static org.junit.Assert.assertEquals;

/**
 * Example local unit test, which will execute on the development machine (host).
 *
 * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
 */
public class ExampleUnitTest {
    
    /**
     * 自定义线程类1:继承Thread类
     */
    class MyThread extends Thread{
        @Override
        public void run() {
            //super.run();
            for (int i = 0; i < 10; i++) {
                System.out.println("MyThread-"+i);
                //System.out.println(new Date()+"-"+i);
            }
        }
    }
    @Test
    public void test1(){
        MyThread myThread = new MyThread();
        myThread.start();
    }


    /**
     * 自定义线程类2:实现Runnable接口
     */
    class MyRunnable implements Runnable{
        @Override
        public void run() {
            for (int i = 0; i < 10; i++) {
                System.out.println("MyRunnable-"+i);
            }
        }
    }
    @Test
    public void test2(){
        MyRunnable myRunnable = new MyRunnable();
        Thread thread = new Thread(myRunnable);
        thread.start();
    }
    

    /**
     * 一般使用匿名的方式(一个匿名对象:new Thread().start(),一个接口式的匿名内部类:new Runnable(){})
     */
    @Test
    public void test3(){
        new Thread(new Runnable() {
            @Override
            public void run() {
                for (int i = 0; i < 10; i++) {
                    System.out.println("Thread_Runnable-"+i);
                }
            }
        }).start();
    }



}

标签:Runnable,java,Thread,void,开启,System,线程,new,public
From: https://www.cnblogs.com/lixuejian/p/17084069.html

相关文章

  • Java对象和类
    在本节教程中,我们将学习Java对象和类。在面向对象编程技术中,需要设计和使用对象和类的程序。对象是物理和逻辑实体,而类是逻辑实体。  提醒:对于Java初学者来说,对象和类......
  • java的xml文件处理
    基础方法:DOM(平台无关的官方解析方式)、SAX(基于事件驱动的解析方式)扩展方法:JDOM、DOM4J(在基础的方法上扩展出的,只有在java中能够使用的解析方法)DOM:一次性将整个xml文件加......
  • Java基础整理
    JavaSE基础是Java学习中的基石,后续的学习基本都需要依靠这些基础内容,如果这一部分的内容掌握不牢固,就会导致后续学习内容的晦涩难懂。基于以上原因,加上自我感觉JavaSE......
  • Java面向对象(OOP)概念
    在本节中,将了解面向对象(OOP)的基础知识。面向对象编程只是一个模式,它提供许多概念,如继承,数据绑定,多态等等。Simula是第一种面向对象的编程语言。而一切都可表示为对象的......
  • Java命名约定
    Java命名约定是一个规则,决定标识符使用什么命名规则,如类,包,变量,常量,方法等的命名规则。但是,它并不是强制要求必须遵循。这称为约定不规则。java编程语言的所有类,接口,包,方......
  • java 判断 class 类型
    1.instanceof。用来判断一个对象是否为一个类的实例。2. Class.isInstance3.  Class.isAssignableFrom。判断父类,参数为本身或者其子类。4. Class.isPrimitive。......
  • 1.1 JavaScript简介
    1.1.1JavaScript的基本概念JavaScript是一种解释性语言,也是一种基于对象(Object)和事件驱动(EventDriven)的、并具有安全性能的脚本语言。特点【1.JavaScript主要用来向......
  • Java两大工具库:Commons和Guava(4)
    您好,我是湘王,这是我的51CTO博客。值此新春佳节,我给您拜年啦~祝您在新的一年中所求皆所愿,所行皆坦途,展宏“兔”,有钱“兔”,多喜乐,常安宁!在Nginx中提到过通过限流算法实现对后端......
  • 【解决方案】多线程如何避免重复插入
    【先记录,日后完善验证】1、设置唯一键,如果是插入或更新操作可以增加trycatch,把更新的sql写在catch里面;2、synchornized关键字和lock接口,但是只能用于单机;4、多服务可......
  • Java两大工具库:Commons和Guava(4)
    您好,我是湘王,这是我的博客园。值此新春佳节,我给您拜年啦~祝您在新的一年中所求皆所愿,所行皆坦途,展宏“兔”,有钱“兔”,多喜乐,常安宁!   在Nginx中提到过通过限流算法......