Java线程学习笔记(3):线程中常用方法汇总
Java线程学习笔记(三):线程中常用方法汇总
线程的执行原理
分析:
- 时间片:即CPU分配给各个程序的时间,每一个进程都被分配一个时间段,称作它的时间片,即该进程允许运行的时间。由于时间片很短(ms级),所以使各个程序从表面上看是同时进行的。
- CPU把一度时间分成很多个时间片,它在一个时间片内只能执行一个进程,然后换下一个时间片,执行下一个进程。
Java线程运行状态与方法调用图:
一、Java线程中常用方法
方法 | 描述 | 详解 |
对象.start() |
表示线程处于活动的,可以抢时间片状态,而不是开始运行。 |
略 |
对象.interrupt() | 表示将线程对象中断。 | 分析 |
对象.stop() | 表示将线程直接终止。(已过时,不安全;如果有正在打开的资源未关闭,而线程直接被关闭) | 略 |
Thread.sleep() | 表示该语句写到哪个线程中,当前线程睡眠。该方法有两个重载的形式,分别是sleep(long)和sleep(long,int) | 略 |
二、线程控制基本方法
方法 | 描述 | 详解 |
isAlive() | 测试线程是否处于活动状态 | 略 |
getPriority() | 更改线程的优先级 | 分析 |
setPriority() | 返回线程的优先级 | 分析 |
Thread.sleep() | 将当前线程睡眠,可指定毫秒数或者毫秒及纳秒数 | 略 |
join() | 调用某线程的该方法,将当前线程与该线程”合并“,即等待该线程结束,在恢复当前线程的运行。 | 分析 |
yield() | 让出CPU,当前线程进入就绪队列等待调度。 | 分析 |
wait() | 当前线程进入对象的wait pool。 | 分析 |
notify() /notifyAll() |
唤醒对象的wait pool中的一个/所有等待线程。 | 分析 |
说明:后续章节将针对不同方法分别进行详细整理。
注:本文源自互联网,经过查阅网上资料整理而成,如涉及到他人整理的成果,在此表示感谢。由于涉及到的参考文章比较多,在此就不再一一列举。
本文是目前个人理解的结果,仅供参考,如后续发现问题,本人会进行相应的更正,也欢迎各位对Java线程感兴趣的朋友或者前辈进行指正。