多线程中 run() 和 start() 方法 的区别
2016-11-22 22:18
337 查看
要实现多线程,首先,让一个普通类去实现 Runnable 接口,然后实现里面的 run 方法。
启动多线程:new Thread(刚刚实现Runnable接口的类).start();
例:
启动三个线程,分别输出 A、B、C
其中,new Thread().start(); 是真正的启动多线程,让该条线程处于可执行的状态(注意,是可执行,而不是立即执行),而真正的执行要等待CPU分配给执行权后才会真正的执行。
而 new Thread().run(); 中的 run() 方法 只是一个普通的方法,调用它后,线程还是只有一条,程序还是按照顺序从上往下执行。
run() 方法只是 Thread 中的普通方法,start() 才是真正的开启多线程
启动多线程:new Thread(刚刚实现Runnable接口的类).start();
例:
启动三个线程,分别输出 A、B、C
public class ThreadClass implements Runnable{ private String name; public ThreadClass(String name) { this.name = name; } @Override public void run() { int count = 10; while(count>0){ System.out.println(name); count--; } } public static void main(String[] args) { ThreadClass threadClass = new ThreadClass("A"); new Thread(threadClass1).run(); //多线程 ThreadClass threadClass1 = new ThreadClass("A"); ThreadClass threadClass2 = new ThreadClass("B"); ThreadClass threadClass3 = new ThreadClass("C"); new Thread(threadClass1).start(); new Thread(threadClass2).start(); new Thread(threadClass3).start(); } }
其中,new Thread().start(); 是真正的启动多线程,让该条线程处于可执行的状态(注意,是可执行,而不是立即执行),而真正的执行要等待CPU分配给执行权后才会真正的执行。
而 new Thread().run(); 中的 run() 方法 只是一个普通的方法,调用它后,线程还是只有一条,程序还是按照顺序从上往下执行。
run() 方法只是 Thread 中的普通方法,start() 才是真正的开启多线程
相关文章推荐
- Java多线程中run和start方法的区别
- 多线程 -- run()方法和start()方法的区别
- 多线程中start和run方法的区别
- java实现多线程的方式以及run方法和start方法的区别
- 多线程中run()和start()方法的区别
- 多线程中start()与run()方法的区别
- Java多线程-run方法与start方法的区别
- 多线程的问题start和run方法的区别
- java 中两种多线程的区别,start方法和run方法的启动区别
- 黑马程序员 Java学习总结之多线程中start方法和run方法的区别(这个一定要搞清楚)
- 多线程中调用run()方法和start()方法的简单区别
- 线程的start()方法和run()方法的区别
- 2013年9月9日、面向对象(包)|多线程|/调用run和调用start有什么区别|例举
- Thread.run()方法与Thread.start()方法的区别
- 线程start与run方法的区别
- Java线程中run和start方法的区别
- start()和run()方法的区别
- runnable和thread的区别以及run和start的区别(多线程)
- Java线程中run和start方法的区别
- java中Thread线程中的 start()和run()方法的区别