线程的创建和运行(1)

(1)创建一个calculator 类,并实现Runnable接口,并重写run()函数 (2)直接继承Thread 类,覆盖run()方法 选任意以上一个方法,创建该对象,执行start()或 run()方法

下面要讲一下 run()和start()的区别 calculator类 package com.gqb.thread;

public class Calculater implements Runnable { private int number;

public Calculater(int number) {
	super();
	this.number = number;
}

@Override
public void run() {
	// TODO Auto-generated method stub
	for (int i = 0; i < 5; i++) {
		System.out.printf("%s: %d * %d=%d\n",Thread.currentThread().getName(),number,i,i*number);
		if (i==9) {
			System.out.println(System.currentTimeMillis());
		}
	}
}

}

test类的程序 package com.gqb.thread;

public class test { public static void main(String[] args) { long daString=System.currentTimeMillis(); for (int i = 0; i < 10; i++) { Calculater calculater=new Calculater(i); Thread thread=new Thread(calculater); thread.run(); }

}

} 当thread执行的是thread.run()方法是 console的运行结果是这样的

当thread执行的是thread.start()方法是 console的运行结果是这样的 在此输入图片描述

所以对于实现了Runnable接口的来说,创建Threa对象不会创建一个新的执行线程;同样调用它的run()方法也不会创建一个新的执行线程。只有当调用它的start()线程时才会创建一个新的执行线程

转载于:https://my.oschina.net/u/255939/blog/386121

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值