方法 | 内容 |
---|---|
static void sleep(long millis) | 在指定的毫秒数内让当前正在执行的线程休眠(暂停执行) |
static void join() | 等待该线程终止。 |
static Thread currentThread() | 返回对当前正在执行的线程对象的引用 |
线程休眠 - - - sleep
★ static void sleep(long millis)方法
作用:
在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)。该线程不丢失任何监视器的所属权。
参数:
millis - 以毫秒为单位的休眠时间。
抛出:
InterruptedException - 如果另一个线程中断了当前线程。当抛出该异常时,
当前线程的中断状态 被清除。
线程等待——join
★ static void join()方法
* 作用:
* 等待该线程终止。
* 抛出:InterruptedException - 如果另一个线程中断了当前线程。当抛出该异常时,
* 当前线程的中断状态被清除。
应用案例:
package com.DuoXianCheng;
import com.sun.corba.se.spi.ior.iiop.IIOPFactories;
import jdk.nashorn.internal.ir.ForNode;
import sun.font.FontRunIterator;
public class ThreadDemo2 {
public static void main(String[] args){
MyRunnable2 myRunnable2 = new MyRunnable2();
Thread thread1 = new Thread(myRunnable2);
thread1.start();
for (int i = 0; i < 50; i++) {
System.out.println(Thread.currentThread().getName() + "-" + i);
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (i == 20) {
try {
thread1.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
class MyRunnable2 implements Runnable {
@Override
public void run() {
for (int i = 0; i < 50; i++) {
System.out.println(Thread.currentThread().getName() + "-" + i);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}