继承Thread类构造线程--Ch_5_1

【例5.1】构造三个线程对象,分别输入70以内2/3/5的倍数。

public class Ch_5_1 {
	public static void main(String[] args) {
		//main是特殊线程,最先启动,且只有当所有线程均结束的时候,才能结束
		System.out.print("main开始");
		T t2,t3,t5;
		t2=new T(2,70);t3=new T(3,70);t5=new T(5,70);//构造线程对象
		t2.start();t3.start();t5.start();//启动线程生命周期,内部包含一连串自动调用,首要run()
		System.out.printf(" 当前共有【%d】个线程# " ,Thread.activeCount());
		System.out.print("main结束");
	}
}
class T extends Thread{//T是线程类
	private int data;private final int max;
	T(int x,int m){data=x;max=m;}
	//线程的核心代码,这段代码必须是重写java.lang.Runnable接口中的run();
	//public void start() {run();}//主动的调用run()不到线程并发的作用 千万:不要重写start();
	//不要主动调用run() Thread的start()会自动调用本地方法start0(),即线程不能跨平台运行的
	public void run(){//必须是这样,类似toString
		//run是线程执行的入口,类似main
		//功能:输出max以内data的倍数
		for(int i=1;i*data<max;i++)
			System.out.print(i*data+" ");		
	}	
}
//注意:单个线程是顺序输出的,线程占用的时间很短,线程切换任意,次序任意
//共有资源是显示器

public void start() {run();}结果辨析

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值