多线程中.start(),方法与.run()方法对比
来源:互联网 发布:淘宝店铺认证复核 编辑:程序博客网 时间:2024/06/07 22:38
又细心的同学会发现我们在开启一个线程的时候调用的是.start()方法。而我们正在写子线程的时候调用的是run()方法。那么start()方法和run()方法又有什么区别呢?在开启一个线程时为什么只能调.start(),不能调.run()方法呢?
run() 不会产生新的栈空间,不会产生子线程 所以都是由主线程来执行 按照顺序执行完毕
start() 会产生新的栈空间, 所以由新的 子线程出现 子线程和主线程 是竞争关系 , 会互相抢占cpu资源 打印结果会有交叉
所以我们开启线程的时候必须调用star();方法
public class Test { public static void main(String[] args) { MyThread2 myThread2 = new MyThread2(); myThread2.run(); MyThread2 myThread22 = new MyThread2(); myThread22.run(); for (int i = 0; i < 10; i++) { System.out.println("主线程"+i); } }}class MyThread2 extends Thread{ @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println(Thread.currentThread().getName()+"-->"+i); } }}
阅读全文
0 0
- 多线程中.start(),方法与.run()方法对比
- 多线程中start()与run()方法的区别
- java多线程start方法与run方法分析
- Java多线程之Thread的run()与start()方法解析
- java多线程 run() 与start()方法的区别
- 多线程中start和run方法的区别
- 多线程中 run() 和 start() 方法 的区别
- 多线程中run()和start()方法的区别
- Java多线程中run和start方法的区别
- java中Thread类中的start()方法与run()方法
- java中Thread类中的start()方法与run()方法
- java中Thread类中的start()方法与run()方法
- Thread 类中start方法与run方法的区别
- 关于多线程的start()和run()方法
- Java多线程 start()和run()方法
- 线程的run方法与start方法
- 多线程中调用run()方法和start()方法的简单区别
- run()方法与start()的区别?
- 使用eclipse运行项目报错,找不到类的问题
- java JAX-RS
- C++学习之路 day9
- 迅雷极速版VIP6
- 【备忘】全网首发Spring4.x SpringMVC S4Struts2Hibernate4整合高清视频
- 多线程中.start(),方法与.run()方法对比
- 第六课记录 Hadoop的起源——Google的基本思想之二
- GitHub 上最火的开源项目 —— Java 篇
- cordova
- Android中的服务小知识
- 【转】用户显示数据库表通用程序
- GitHub上整理的一些工具,求补充
- 宏定义中的do{...}while(0)
- Spring事物配置的五种方式