代码:
package com.vdate.day13;
import javax.swing.text.StyledEditorKit.ForegroundAction;
public class threadUse1 {
/**
* 法一步骤:
*1、继承thread类,
*2、实现thread的run方法。实际上就是把需要执行的程序内容放到run方法中。
*3、调用thread类里面的start方法,而不是直接调用run方法。
* (run方法是执行逻辑,start才是启动线程开始,线程底部和java虚拟机会再次去调用run方法)
*
* 多线程其实是一个抢占CPU资源的,谁抢到谁执行
*
* Thread常用的几个方法:
* 1、getName();获取当前线程名称,返回String类型
* 2、setName();设置线程的名称,传入一个String类型的名称;设置线程名称还可以通过构造函数的方式实现;
* 3、获取当前线程及线程名称可以直接调用Thread类里面的currentThread方法
*
* @param args
*/
public static void main(String[] args) {
/*test t1 = new test("猪八戒");
test t2 = new test("猴子"); */
test t1 = new test();
test t2 = new test();
/* t1.run(); //不知直接调用run方法
t2.run();*/
t1.start();
t2.start();
// t1.start();//不能多次启动
//改变线程名称,使之与参数 name 相同。
t1.setName("武");
t2.setName("潘");
//获取当前线程名称,返回String类型
/*String currentName = Thread.currentThread().getName();//静态的,可以直接 类名. 调用
System.out.println("currentName:" + currentName);//currentName:main
*/
}
}
class test extends Thread{
//构造方法
/*public test(){}
public test(String name){
super(name);//调用父类的构造方法
}*/
public void run() {//重写thread的run方法
for (int i = 0; i < 10000; i++) {
System.out.println(getName() +"--"+ i);//调用getName这个方法,获取当前线程名称,
} //便于区分多线程的执行
}
}
岁月老刀
相关分类