这个方法是在哪个线程执行中调用的,就会得到哪个线程对象。
- public class MyThread extends Thread{
- public MyThread() {
- }
-
- public MyThread(String name) {
- // 为当前线程对象设置名称,送给父类的有参数构造器初始化名称
- super(name);
- }
-
- @Override
- public void run() {
- for (int i = 0; i < 5; i++) {
- System.out.println( Thread.currentThread().getName() + "输出:" + i);
- }
- }
- }
- public class ThreadDemo01 {
- // main方法是由主线程负责调度的
- public static void main(String[] args) {
- Thread t1 = new MyThread("1号");
- // t1.setName("1号");
- t1.start();
- System.out.println(t1.getName());
-
- Thread t2 = new MyThread("2号");
- // t2.setName("2号");
- t2.start();
- System.out.println(t2.getName());
-
- // 哪个线程执行它,它就得到哪个线程对象(当前线程对象)
- // 主线程的名称就叫main
- Thread m = Thread.currentThread();
- System.out.println(m.getName());
- m.setName("最牛的线程");
-
- for (int i = 0; i < 5; i++) {
- System.out.println( m.getName() + "输出:" + i);
- }
- }
- }
- public class ThreadDemo02 {
- // main方法是由主线程负责调度的
- public static void main(String[] args) throws Exception {
- for (int i = 1; i <= 5; i++) {
- System.out.println("输出:" + i);
- if(i == 3){
- // 让当前线程进入休眠状态
- // 段子:项目经理让我加上这行代码,如果用户愿意交钱,我就注释掉。
- Thread.sleep(3000);
- }
- }
- }
- }