Thread类常用方法

(1) thread类中设置和获取线程名称的方法

void setName(string Name) 将此线程的名称更改为等于参数Name
String getName() 返回此线程的名称
Thread​(Runnable target, String name) 通过构造方法设置线程名称

(2) 获取当前线程对象(静态方法)

Thread currentThread() 返回当前正在执行的线程对象的引用

  for (int i = 0; i < 100; i++) {
        //System.out.println("i = " + i);
        System.out.println(Thread.currentThread().getName() + ":" + i);
    }

(3) 线程休眠(静态方法)

sleep(long millis) 使当前正在运行的线程停留(暂停执行)指定的毫秒



  • static void yield()
    当前线程让出处理器(离开Running状态),使当前进程进入Runnable状态等待
  • static void sleep(times) 使当前进程从Running进入Block状态,休眠times毫秒,在返回到Runnable,如果其他线程打断当前进程的Block(sleep),就会发生InterruptedException

主线程的优先级默认是 5 ,范围[0,10],数字越大,优先级越高
(但是不一定先执行)

  • int getPriority() 获取线程的优先级
  • void setPriority(int newPriority)
    优先级越高的线程不一定先执行,但该线程获取到时间片的机会会更多一些
  • void join() 等待该线程终止
  • void join(long millis) 等待参数指定的毫秒数
  • boolean isDaemon() 用于判断是否为守护线程
  • void setDamemon(boolean on) 用于设置线程为守护线程
    必须在线程启动之前设置子线程为守护线程。

如果子线程是守护线程,当主线程结束后,子线程会随之结束(哪怕没有打印完)