下面哪些是Thread类的方法?
A. start()
B. run()
C. exit()
D. getPriority()
答案
A. B. D.
分析
Thread类中的常见方法有:
方法名 | is static | 功能说明 | 注意 |
---|---|---|---|
start() | false | 启动一个新线程,在新的线程运行run方法中的代码 | 每个线程对象的start方法只能调用一次 |
run() | false | 新线程启动后会调用的方法 | 如果在构造Thread对象时传递了Runnable参数,则线程启动后会调用Runnable中的run方法,否则默认不执行任何操作。但可以创建Thread的子类对象,来覆盖默认行为。 |
join() | false | 等待线程运行结束 | |
join(long n) | false | 等待线程运行结束,最多等待n毫秒 | |
getId() | false | 获取线程长整型的id | id唯一 |
getName() | false | 获取线程名 | |
setName(String) | false | 修改线程名 | |
getPriority() | false | 获取线程优先级 | |
setPriority(int) | false | 修改线程优先级 | java中规定线程优先级是1~10 的整数,较大的优先级能提高该线程被CPU调度的机率 |
getState() | false | 获取线程状态 | java中线程状态是用6个enum表示,分别为:NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED |
isAlive() | false | 线程是否存活(还没有运行完毕) | |
interrupt() | false | 打断sleep,wait,join的线程 | 如果被打断线程正在sleep,wait,join,会导致被打断的线程抛出InterruptedException;否则,可以通过isInterrupted判断是否被打断。 |
currentThread() | true | 获取当前正在执行的线程 | |
sleep(long n) | true | 让当前执行的线程休眠n毫秒 | |
yield() | true | 提示线程调度器让出当前线程对CPU的使用 | 主要是为了测试和调试 |
还有一些不推荐使用的方法:
方法名 | is static | 功能说明 | 注意 |
---|---|---|---|
stop() | false | 停止线程运行 | |
suspend() | false | 挂起(暂停)线程运行 | |
resume() | false | 恢复线程运行 |