作者简介: zoro-1,目前大二,正在学习Java,数据结构,mysql,javaee等
作者主页: zoro-1的主页
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖
线程的创建方式
- 第一种:自己实现一个继承Thread的类
- 第二种:自己实现一个实现Runnable的类
- 第三种:传一个继承Thread的匿名内部类
- 第四种:传一个实现Runnable的匿名内部类
- 第五种:使用lambda表达式(函数接口)
第一种:自己实现一个继承Thread的类
class myThread extends Thread{
@Override
public void run() {
System.out.println("myThread");
}
}
public class TreadText {
public static void main(String[] args) {
//自己继承Thread重写run方法
Thread thread=new myThread();
thread.start();
}
}
第二种:自己实现一个实现Runnable的类
class myRunnable implements Runnable{
@Override
public void run() {
System.out.println("myRunnable");
}
}
public class TreadText {
public static void main(String[] args) {
//实现Runnable相当于一个代码块还是用Thread创建线程
Thread thread2=new Thread(new myRunnable());
thread2.start();
}
}
第三种:传一个继承Thread的匿名内部类
public class TreadText {
public static void main(String[] args) {
//传一个继承Thread匿名内部类
Thread thread4=new Thread(new Thread(){
public void run() {
while (true) {
System.out.println("thread4");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
});
thread4.start();
}
}
第四种:传一个实现Runnable的匿名内部类
public class TreadText {
public static void main(String[] args) {
//传一个实现Runnable匿名内部类
Thread thread3=new Thread(new Runnable(){
@Override
public void run() {
System.out.println("thread3");
}
});
thread3.start();
}
}
第五种:使用lambda表达式(函数接口)
public class TreadText {
public static void main(String[] args) {
//函数接口底层还是用Ruanable
Thread thread1=new Thread(()-> System.out.println("thread1"));
thread1.start();
}
}
今天的分享到此就结束了,感谢大家支持