JAVA——线程中start()和run()的区别
来源:互联网 发布:mysql synonym 编辑:程序博客网 时间:2024/06/05 15:26
区别
- start()方法是令开启一个线程执行该线程。
- run()方法是在主函数中直接调用该线程类的run方法,不是通常意义上的多线程。
run方法相当于调用了该类的普通方法。start会执行完整的线程周期。
示例
继承Thread类实现
run方法代码如下。
public class Test1 { public static void main(String[] arg0) { MyThread thread1 = new MyThread(); MyThread2 thread2 = new MyThread2(); thread1.run(); thread2.run(); }}class MyThread extends Thread { @Override public void run() { for (int i = 0; i < 20; i++) { System.out.println("子程序1"); } }}class MyThread2 extends Thread { @Override public void run() { for (int i = 0; i < 20; i++) { System.out.println("子程序2"); } }}
执行结果如下。
将线程运行方法改至srart(),代码如下。
public static void main(String[] arg0) { MyThread thread1 = new MyThread(); MyThread2 thread2 = new MyThread2(); thread1.**start**(); thread2.**start**(); }
执行结果如下。
实现Runnable接口
实现了Runnable的类不能直接调用start()方法,需要使用Thread的构造方法,如下代码5、6行所示。
public class Test1 { public static void main(String[] arg0) { MyThread thread1 = new MyThread(); MyThread2 thread2 = new MyThread2(); Thread thread3 = new Thread(thread1); Thread thread4 = new Thread(thread2); thread3.start(); thread4.start(); }}class MyThread implements Runnable { @Override public void run() { for (int i = 0; i < 20; i++) { System.out.println("子程序1"); } }}class MyThread2 implements Runnable { @Override public void run() { for (int i = 0; i < 20; i++) { System.out.println("子程序2"); } }}
执行结果同上面的继承Thread中的start方法。
阅读全文
0 0
- JAVA——线程中start()和run()的区别
- java线程中run()和start()区别
- Java线程中run和start方法的区别
- Java线程中run和start方法的区别
- Java线程中run和start方法的区别
- Java线程中run和start方法的区别
- Java线程中run和start方法的区别
- Java线程中run和start方法的区别
- Java线程中run和start方法的区别
- Java线程中run和start方法的区别
- java线程中run和start方法的区别
- Java线程中run和start方法的区别
- java线程中start和run方法的区别
- Java中启动线程start和run方法的区别
- Java线程中run和start方法的区别
- Java线程中run和start方法的区别
- Java线程中run和start方法的区别
- Java线程中run和start方法的区别
- Java集合-01之 总体框架
- 继续xxx定律
- AtCoder Grand Contest 018 做题记录
- JZOJ 5258. 友好数对
- Effective Modern C++翻译系列之Item18
- JAVA——线程中start()和run()的区别
- 线程中fork函数的使用
- 斜率优化(待更)
- Java并发包--ReentrantLock
- Keras实现卷积神经网络
- 远程桌面按键失效变成快捷键问题
- Linux系统监控sar命令详细解析
- php开启错误提示适用于没有修改php.ini的权限
- Python:Pygame的图形接口