首页 > 试题广场 >

下面哪些不是Thread类的方法

[单选题]
下面哪些不是Thread类的方法
  • start()
  • run()
  • exit()
  • getPriority()
查看Thread可知,没有exit()方法,其实不用查也知道,重写run方法,start开启线程,getPriority获取线程优先级
发表于 2019-08-21 12:28:24 回复(1)
源码有exit()方法

发表于 2019-10-08 16:13:51 回复(0)
首先贴一个Thread的常用方法
String getName()  返回该线程的名称。
void setName(String name)  改变线程名称,使之与参数 name 相同。
int getPriority()   返回线程的优先级。
void setPriority(int newPriority)   更改线程的优先级。
boolean isDaemon()   测试该线程是否为守护线程。
void setDaemon(boolean on)  将该线程标记为守护线程或用户线程。
static void sleep(long millis)
void interrupt()  中断线程。
static void yield()  暂停当前正在执行的线程对象,并执行其他线程。
void join()  等待该线程终止。
void run()
void start() 
从Object类继承来的方法  void notify()         void wait()

5种运行状态
新建(New):创建后尚未启动的线程处于这种状态。
运行(Runable):得到cpu分配的执行时间
无限期等待(Waiting):处于这种状态的线程不会被分配CPU执行时间,它们要等待被其他线程显式地唤醒
Object.wait()
Thread.join()
LockSupport.park()
限期等待(Timed Waiting):处于这种状态的线程也不会被分配CPU执行时间,不过无须等待被其他线程显式地唤醒
Thread.sleep()
    Object.wait(),设置timeout时间
    Thread.join(),设置timeout时间
    LockSupport.parkNanos()方法
    LockSupport.parkUntil()方法
阻塞(Blocked):线程被阻塞了,“阻塞状态”与“等待状态”的区别是:“阻塞状态”在等待着获取到一个排它锁,
这个事件将在另外一个线程放弃这个锁的时候发生;而“等待状态”则是在等待一段时间,或者唤醒动作的发生,
在程序等待进入同步区域(synchronized)的时候,线程将进入这种状态。
结束(Terminated):已终止的线程状态,线程已经结束执行。
三种终止线程的方式
1. 使用标志位终止线程
2.使用stop()
3.使用 interrupt() 中断线程



发表于 2019-09-21 17:12:05 回复(0)
查看java api就知道了,exit()属于System的方法,其他三个都是Thread的方法。
发表于 2019-11-27 00:37:05 回复(1)
0Q0头像 0Q0
    /**
     * This method is called by the system to give a Thread
     * a chance to clean up before it actually exits.
     */
    private void exit() {
        if (group != null) {
            group.threadTerminated(this);
            group = null;
        }
        /* Aggressively null out all reference fields: see bug 4006245 */
        target = null;
        /* Speed the release of some of these resources */
        threadLocals = null;
        inheritableThreadLocals = null;
        inheritedAccessControlContext = null;
        blocker = null;
        uncaughtExceptionHandler = null;
    }
以上就是Thread类中的exit方法,求解答!!!
发表于 2019-10-15 08:58:59 回复(0)
可以读取api文档,Thread线程重写run方法,并由start方法开启线程,getPriority方法获取线程的优先级,同样可以由setPriority方法来设置线程的优先级,使用join方法来终止线程
有三种方法可以使终止线程。

    1.  使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。

    2.  使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。

    3.  使用interrupt方法中断线程。


发表于 2019-10-09 15:34:30 回复(0)
要求线程可以轻易退出那就完了
发表于 2019-09-18 03:37:38 回复(0)