[Java多线程] 创建、使用自定义线程的两种方法

[Java多线程] 创建、使用自定义线程的两种常用方法

总结一下Java中自定义线程的创建与使用的两种常用方法。
这里通过实现一个最简洁自定义多线程类Morty,以及仅包含main函数的测试类:ThreadTest来展示效果。

方法一:继承Thread类

最为简单直接的方法是继承Thread类。只需要实现Thread类所要求的run函数就够了。

优点:清晰,方式直接。
缺点:Java中仅能继承一个类,使用场景有限。

class Morty extends Thread {
    
    
	// 定义成员和构造器..
	
	// 定义run函数
	public void run() {
    
    
		System.out.println("我是一个Thread类,平行空间里无数Morty中的一个");
	}

	// 定义各种方法..
}

public class ThreadTest {
    
    
	public static void main(String[] args) {
    
    
		Morty morty0 = new Morty();	// 初始化线程(本例中使用默认构造器)
		morty0.start();				// 启动线程
	}
}

运行结果:

Thread方式运行结果

方法二:实现Runnable接口

优点:一个类能实现多个接口,适用范围广。
缺点:没有直接继承Thread类那样简单直接(但感觉用起来差不多)。

class Morty implements Runnable {
    
    
    // 定义成员和构造器..

    // 定义run函数
    public void run() {
    
    
        System.out.println("我是一个Thread类,平行空间里无数Morty中的一个");
    }

    // 定义各种方法..
}

public class ThreadTest {
    
    
    public static void main(String[] args) {
    
    
        Morty mortyTemp = new Morty();	           // 初始化线程(本例中使用默认构造器)
        Thread morty137 = new Thread(mortyTemp);   // 初始化线程

//		Thread morty137 = new Thread(new Morty()); // 也可以这样简写

        morty137.start();				           // 启动线程
    }
}

运行结果:

Runnable方式运行结果



(完。 推荐阅读:Java中的多线程

猜你喜欢

转载自blog.csdn.net/weixin_39591031/article/details/110090304