8.2.6 线程类其他常用的方法
8.2.6 线程类其他常用的方法
Java线程类(Thread)除了提供上述的线程创建、线程控制的方法外,还提供许多方法。常用的方法介绍如下。
1.isAlive(),判断线程目前是否正在运行状态中。
在Thread类的程序接口中提供了isAlive()方法,如果线程被启动并且未被撤销,那么isAlive()返回true。若返回true,则该线程是活动的;如果返回false,则该线程是新创建或是已被终止的。
if(newthread.isAlive()) newthread.stop();
2.resume(),求被暂停得线程继续执行。
3.suspend (),暂停线程的执行。
4.join(),待线程执行完毕。
5.thatThread.join();被等待的那个线程thatThread不结束,当前线程就一直等待
6.yield(),将执行的权力交给其他线程,自己到队列的最后等待。
7.改变线程的优先权。
某一时刻只有一个线程在执行时, 线程调度策略为固定优先级调度。多个线程运行时,级别相同时,由操作系统按时间片来分配。在上例8-2中,如果给两个线程中timer1线程赋予较高的优先权,则发现这个线程垄断CPU控制权。如下所示。
timer1.setPriority(Thread.MAX_PRIORIY);
Thread类设置三个表达线程优先权的常数:
(1) MAX_PRIORITY:线程可能有的最大优先权,值为10;
(2) MIN_PRIORITY:线程可能有的最小优先权,值为1;
(3) NORM_PRIORITY:线程默认优先权,值为5。