thread的start与run

Thread的start()与run()方法的区别:
调用一个Thread的start方法,可以启动一个新线程,并在新线程中调用该Thread实例的run()方法中的代码。 新线程启动的方法见JDK中Thread类中start()源码如何实现。
调用一个Thread的run方法,不会启动新线程,而是在调用run方法时的当前线程中,直接调用run()中的代码,没有实现多线程的机制。

package base;

/*
* 类名 TestRun.java
* 说明 description of the class
* 创建日期 2011-3-16
* 作者 kobe
* 版权 ***
*/
public class TestRun implements Runnable {

public void run() {

for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName() + " "+i);
}
}

public static void main(String[] args){
TestRun test=new TestRun();
new Thread(test,"线程1").run();
new Thread(test,"线程2").run();
// new Thread(test,"线程1").start();
// new Thread(test,"线程2").start();

}
}


run运行结果:
main 0
main 1
main 2
main 3
main 4
main 5
main 6
main 7
main 8
main 9
main 0
main 1
main 2
main 3
main 4
main 5
main 6
main 7
main 8
main 9

start运行结果:
线程1 0
线程2 0
线程1 1
线程2 1
线程1 2
线程1 3
线程1 4
线程1 5
线程1 6
线程2 2
线程1 7
线程2 3
线程1 8
线程2 4
线程1 9
线程2 5
线程2 6
线程2 7
线程2 8
线程2 9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值