启动一个新线程,在新的线程运行 run 方法中的代码
start 方法只是让线程进入就绪,里面代码不一定立刻运行(CPU 的时间片还没分给它)。每个线程对象的start方法只能调用一次,如果调用多次会产生IllegalThreadStateException异常
新线程启动后会调用的方法
如果在构造 Thread 对象时传递了 Runnable 参数,则线程启动后会调用 Runnable 中的 run 方法,否则默认不执行任何操作。但可以创建 Thread 的子类对象,来覆盖默认行为。
等待线程运行结束
等待线程运行结束,最多等待 n 毫秒
获取线程长整型的 id
id 唯一
获取线程名
修改线程名
获取线程优先级
修改线程优先级
java中规定线程优先级是1~10 的整数,较大的优先级能提高该线程被 CPU 调度的机率。
获取线程状态
Java 中线程状态是用 6 个 enum 表示,分别为:
NEW
RUNNABLE
BLOCKED
WAITING
TIMED_WAITING
TERMINATED
判断是否被打断
不会清除打断标记
线程是否存活(还没有运行完毕)
打断线程
如果被打断线程正在 sleep,wait,join 会导致被打断的线程抛出InterruptedException,并清除打断标记 ;如果打断的正在运行的线程,则会设置打断标记 ;park 的线程被打断,也会设置打断标记
判断当前线程是否被打断
会清除打断标记
获取当前正在执行的线程
让当前执行的线程休眠n毫秒,休眠时让出CPU的时间片给其它线程
提示线程调度器让出当前线程对CPU的使用
主要是为了测试和调试