面试官:
小伙子,说下Java创建线程有几种方法?
我:
一般情况下就是继承Thread类和实现Runnable接口。这两者之间的区别就是实现Runnable接口,可以避免了继承Thread类的单继承局限性。
下面是我总结的一些创建线程的方式
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.*;
/**
* @author 2019年4月17日20:03:48
* 创建线程的方式
*/
@Slf4j
public class CreateThreadMode {
/**
* 1、继承Thread类:继承Thread类和实现Runnable接口的最本质区别是实现接口可以实现多继承
*/
class ThreadA extends Thread{
@Override
public void run() {
log.info("继承Thread类:继承Thread类和实现Runnable接口的最本质区别是实现接口可以实现多继承");
}
}
/**
* 2、实现Runnable接口:继承Thread类和实现Runnable接口的最本质区别是实现接口可以实现多继承
*/
class ThreadB implements Runnable{
@Override
public void run() {
log.info("实现Runnable接口:继承Thread类和实现Runnable接口的最本质区别是实现接口