您的位置:首页 > 编程语言 > Java开发

Java线程中start()和run()的区别

2018-03-24 11:05 363 查看
run():不管是通过实现Runnable接口还是继承Thread类(其实Thread中的run方法也是调用了Runnable接口的run方法),调用run()方法仅仅是相当于调用了一个方法,没有启用新的线程。
start():会启动一个新线程,运行重写的run()代码。
例子:public class MyThread {

public static void main(String[] args) {
SThread sThread = new SThread();
sThread.run();
sThread.start();
S2Thread s2Thread = new S2Thread();
s2Thread.run();
}
}
class SThread extends Thread {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + " run method run() by Class Thread");
}
}
class S2Thread implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + " run method run() by Interface Runnable");
}
}结果:main run method run() by Class Thread
Thread-0 run method run() by Class Thread
main run method run() by Interface Runnable参考文章:线程中run()和start()的区别
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息