03_线程的创建和启动_实现Runnable接口方式

Posted HigginCui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了03_线程的创建和启动_实现Runnable接口方式相关的知识,希望对你有一定的参考价值。

【线程的创建和启动的步骤(实现Runnable接口方式)】

1.定义Runnable接口的实现类,并重写其中的run方法。run()方法的方法体是线程执行体。class SonThread  implement Runnable{ public void run(){......}}

2.创建Runnable接口实现类的实例。   sonThread s1=new SonThread();

3.用该实例作为Thread的target来创建Thread对象。   Thread t1 =new Thread(s1);

4.调用该对象的start()方法启动线程。  t1.start();

 

【示例代码】

package com.Higgin.part01;

//1.1定义Runnable接口的实现类
class SecondThread implements Runnable{

    //1.2重写其中的run方法
    @Override
    public void run() {
        for(int i=0;i<10;i++){
            System.out.println(Thread.currentThread().getName()+"===="+i);
        }
    }
    
}
public class Demo2 {
    
    public static void main(String[] args) {
        //2.创建Runnable的接口实现类的实例
        SecondThread s1=new SecondThread();
        SecondThread s2=new SecondThread();
        //2.用Runnable的接口实现类的实例作为Thread的target,创建Thread对象
        Thread t1=new Thread(s1);
        Thread t2=new Thread(s2,"Higgin");  //创建Thread对象的同时可以为之命名
        
        //启动线程
        t1.start();
        t2.start();
        
        for(int i=0;i<10;i++){
            System.out.println(Thread.currentThread().getName()+"===="+i);
        }
    }
}

【运行结果】

技术分享

 

【注意一:关于命名】

在创建Thread 对象的时候可以为该Thread对象指定一个名字

技术分享

【注意二:Thread的构造方法】

Runnable对象作为Thread对象的target,Runnable实现类里面包含run方法仅仅作为执行体。也就是说Thread类的作用是把run方法包装成线程的执行体。

实际运行的线程对象依然是Thread实例,只是该Thread线程负责执行其target的run方法。

 

以上是关于03_线程的创建和启动_实现Runnable接口方式的主要内容,如果未能解决你的问题,请参考以下文章

java_10:线程创建的方式二

阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_14_匿名内部类方式实现线程的创建

多线程

JavaSE_03_Thread类02

Java基础知识盘点- 线程篇

多线程之实现Runnable接口及其优点