线程run方法和start方法的区别
生活随笔
收集整理的這篇文章主要介紹了
线程run方法和start方法的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
區別
run()
只是一個普通的方法調用,不會開啟新的線程。
start()
會開啟新的線程,分配新的資源。里面的變量互不影響。
實例
package multithreading;public class MyThread extends Thread {String flag;public MyThread(String flag) {this.flag = flag;}@Overridepublic void run() {String tname = Thread.currentThread().getName();System.out.println(tname + "線程的run方法被調用……");for (int i = 0; i < 5; i++) {try {Thread.sleep(200);System.out.println(tname + "...." + flag);} catch (InterruptedException e) {e.printStackTrace();}}}public static void main(String[] args) {MyThread t1 = new MyThread("a");MyThread t2 = new MyThread("b");MyThread t3 = new MyThread("c");t1.run();t2.run();t3.run();System.out.println("-------------分割線-----------");t1.start();t2.start();t3.start();} }
運行結果
main線程的run方法被調用……
main....a
main....a
main....a
main....a
main....a
main線程的run方法被調用……
main....b
main....b
main....b
main....b
main....b
main線程的run方法被調用……
main....c
main....c
main....c
main....c
main....c
-------------分割線-----------
Thread-0線程的run方法被調用……
Thread-2線程的run方法被調用……
Thread-1線程的run方法被調用……
Thread-0....a
Thread-2....c
Thread-1....b
Thread-2....c
Thread-0....a
Thread-1....b
Thread-0....a
Thread-2....c
Thread-1....b
Thread-2....c
Thread-0....a
Thread-1....b
Thread-2....c
Thread-0....a
Thread-1....b
總結
以上是生活随笔為你收集整理的线程run方法和start方法的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python写进程_将数据作为后台进程在
- 下一篇: c语言Wndproc未定义,为什么我的老