package com.chang.bao4;
public class ThreadTest {
public static void main(String[] args) throws InterruptedException {
/*
String getName() 返回此线程的名称
void setName() 设置线程名字(构造方法也是可以设置名字的)
细节:
1.如果我们没有给线程取名字,线程也是有默认的名字
格式Thread-X(X为序号,从0开始)
2.如果我们要设置名字,可以用set方法,也可以用构造方法(使用构造方法,继承了Thread类要继承其有参构造方法)
static Thread currentThread() 获取当前线程对象
细节:
当JVM虚拟机启动之后,会自动的启动多条线程
其中有一条线程叫main线程
它的作用是调用main方法,并执行里面的代码
在以前,我们写的所有的代码,其实都是运行在main线程当中
static void sleep(long time) 指定线程休眠时间(单位为毫秒)
细节:
1.哪条线程执行到这个方法,那么哪条线程就会在这里停留对应的时间
2.方法的参数:就是表示睡眠的时间,单位为毫秒
1秒=1000毫秒
3.当时间到了之后,线程会自动的醒来,继续执行下面的其他代码
*/
MyThread myThread1 = new MyThread("线程1");
MyThread myThread2= new MyThread("线程2");
myThread1.start();
myThread2.start();
//获取当前线程对象
/*Thread thread = Thread.currentThread();
String name = thread.getName();
System.out.println(name);*/
// System.out.println("1111111111");
// Thread.sleep(5000);
// System.out.println("2222222222");
}
}
package com.chang.bao4;
public class MyThread extends Thread{
public MyThread() {
}
public MyThread(String name) {
super(name);
}
@Override
public void run() {
for (int i = 0; i < 100; i++) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(this.getName()+"@"+i);
}
}
}