线程的控制(常见方法)
A:休眠线程
public static void sleep(long millis):在指定的毫秒数内让当前正在执行的线程休 眠(暂停执行),
此操作受到系统计时器和调度程序精度和准确性的影响。
该线程不丢失任何监视器的所属权。
Eg:Thread.sleep(1000);
B:加入线程
public final void join():等待该线程终止(为了让某些线程执行完毕,别人才 能继续)
Eg: tj1.start();
try {
tj1.join();//只有当tj1执行完毕,其他进程 才能开始
} catch (InterruptedException e) {
e.printStackTrace();
}
C:礼让线程
public static void yield():暂停当前正在执行的线程对象,并执行其他线程。
让多个线程的执行更和谐,但是不能靠它保证一人一次。
Eg: Thread.yield();
D:后台线程
public final void setDaemon(boolean on):将该线程标记为守护线程或用户线程。
当正在运行的线程都是守护线程时,Java 虚拟机退出。
该方法必须在启动线程前调用。
Eg: // 设置守护线程当正在运行的线程都是守护线程时,Java //虚拟机退出
td1.setDaemon(true);
td2.setDaemon(true);
td1.start();
td2.start();
E:线程中断
public final void stop():(已经过时)
public void interrupt():中断线程。把线程的状态终止,并抛出一个 InterruptedException。
Eg: public static void main(String[] args) {
ThreadStop ts = new ThreadStop();
ts.start();
try {
Thread.sleep(3000);
// ts.stop();
ts.interrupt();
} catch (InterruptedException e) {
e.printStackTrace();
}
}