start() |
|
启动一个新线 程,在新的线程运行 run 方法 |
start 方法只是让线程进入就绪,里面代码不一定立刻运行( CPU 的时间片还没分给它)。每个线程对象的start方法只能调用一次,如果调用了多次会出现IllegalThreadStateException |
run() |
|
新线程启动后会调用的方法 |
如果在构造 Thread 对象时传递了 Runnable 参数,则线程启动后会调用 Runnable 中的 run 方法,否则默认不执行任何操作。但可以创建 Thread 的子类对象来覆盖默认行为 |
join() |
|
等待线程运行结勇 |
|
join(long n) |
|
等待线程运行结束,最多等待 n毫秒 |
|
getld() |
|
获取线程长整型的id |
id 唯一 |
getName() |
|
获取线程名 |
|
setName(String) |
|
修改线程名 |
|
getPriority() |
|
获取线程优先级 |
|
setPriority(int) |
|
修改线程优先级 |
java中规定线程优先级是1~10 的整数,较大的优先级能提高该线程被 CPU 调度的机率 |
getState() |
|
获取线程状态 |
java 中线程状态是用 6 个 enum 表示,分别为 :NEW,RUNNABLE,BLOCKED,WAITING,TIMED WAITING,TERMINATED |
islnterrupted() |
|
判断是否被打断 |
不会清除 打断标记 |
isAlive() |
|
线程是否存活( 还没有运行完毕) |
|
interrupt() |
|
打断线程 |
如果被打断线程正在 sleep,wait,join 会导致被打断的线程抛出 InterruptedException,并清除 打断标记;如果打断的正在运行的线程,则会设置 打断标记;park 的线程被打断,也会设置 打断标记 |
interrupted() |
static |
判断当前线程是否被打断 |
会清除 打断标记 |
currentThread() |
static |
获取当前正在执行的线程 |
|
sleep(long n) |
static |
让当前执行的线程休眠n毫秒,休眠时让出 cpu的时间片给其它线程 |
|
yield() |
static |
提示线程调度器让出当前线程对CPU的使用 |
主要是为了测试和调试 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性