Java多线程--创建线程的2种方式

2021-04-28  本文已影响0人  轻轻敲醒沉睡的心灵

线程创建2种方式,一是继承Thread类,一是实现Runnable接口。这里介绍了这2中方式,同时展现了创建线程时,传入参数的2种方式:set方法和构造函数。

方法1-继承Thread

package com.test;
import java.util.Date;
import lombok.Setter;

public class ThreadTest1 {

    public static void main(String[] args) {
        String str = "test";
        Date d = new Date();
        MyThread t = new MyThread(str, d);
        t.setId(100);
        // 启动新线程
        t.start(); 
    }
}

class MyThread extends Thread {
    
    private String str;
    private Date d;
    
    public MyThread(String str, Date d) {
        this.str = str;
        this.d = d;
    }
    
    @Setter
    private Integer id;
    
    
    @Override
    public void run() {
        System.out.println(str);
        System.out.println(d);
        System.out.println(id);
    }
}

方法2-实现Runnable接口

因'start()'方法是Thread类的,所以这个不能直接调用,要用线程类去调用。

package com.test;
import java.util.Date;
import lombok.Setter;

public class ThreadTest2 {
    
    public static void main(String[] args) {
        String str = "test2";
        Date d = new Date();
        TestThread t = new TestThread(str, d);
        t.setId(200);
        // 启动新线程
        new Thread(t).start();
    }
}

class TestThread implements Runnable {
    
    private String str;
    private Date d;
    
    public TestThread(String str, Date d) {
        this.str = str;
        this.d = d;
    }
    
    @Setter
    private Integer id;
    
    
    @Override
    public void run() {
        System.out.println(str);
        System.out.println(d);
        System.out.println(id);
    }
}

实现Runnable接口比继承Thread类所具有的优势:

上一篇下一篇

猜你喜欢

热点阅读