创建线程常用的两种方式

cigar+CV 2020-08-28 10:10:24
创建线程常用的两种方式:

方式一:
创建线程子类(DemoThread1)继承Thread类,重写run()方法,调用start()开启线程。不建议使用:不能避免单继承得局限性。

public class TestThread1 extends Thread {
@Override
public void run(){
//run方法线程体
for (int i = 0; i < 200; i++) {
System.out.println("代码一直敲一直爽");
}
}
public static void main(String[] args) {
//main方法主线程
//创建一个线程对象
TestThread1 testThread1 = new TestThread1();

//调用start方法开启线程
testThread1.start();
for (int i = 0; i < 100; i++) {
System.out.println("头发越来越少了,你说恐怖不!!");
}
}
}

方式一:
创建线程子类(DemoThread2)实现Runnable接口,重写run()方法,调用start开启线程。推荐使用:避免单继承的局限性,方便一个对象被多个线程使用。

public class TestThread2 implements Runnable {
@Override
public void run(){
//run方法线程体
for (int i = 0; i < 200; i++) {
System.out.println("代码一直敲一直爽");
}
}
public static void main(String[] args) {
//main方法主线程
//创建Runnable接口的实现类对象
TestThread2 testThread2 = new TestThread2();
//创建线程对象,通过线程对象来开启线程
new Thread(testThread2).start();
for (int i = 0; i < 100; i++) {
System.out.println("头发越来越少了,你说恐怖不!!");
}
}
}
...全文
7373 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
小码农1632 2020-09-02
1.实现方式一实现Runnable接口 public class MyRunnable implements Runnable { // 实现run方法 @Override public void run() { System.out.println("-----run------"); } public static void main(String[] args) { MyRunnable m = new MyRunnable(); new Thread(m).start(); } } 2.实现方式二,继承Thread类 public class MyThread extends Thread { // 重写run方法 @Override public void run() { System.out.println("-----run------"); } public static void main(String[] args) { MyThread t = new MyThread(); t.start(); } }
回复
韩老骥 2020-08-30
两种方式其实是一样的,都是实现Runnble接口,只不过Thread里边有默认实现,这个默认实现就是需要外部传入一个Runnable的对象,否则你就得重写这个run方法。
回复
cigar+CV 2020-08-30
对,想用几个就用几个
回复
这个我知道 implements Runnable
回复
继承接口Runnable要好一些,java类不能连续继承多个,继承一个接口 之后可以继续继承类
回复
cigar+CV 2020-08-29
这种方法我觉得时最好用的
回复
发帖
Java SE
创建于2007-09-28

6.2w+

社区成员

Java 2 Standard Edition
申请成为版主
帖子事件
创建了帖子
2020-08-28 10:10
社区公告
暂无公告