线程的调度和线程优先级
调度模型:
分时调度模型: 就是为每一个线程分配指定的时间
抢占式调度模型: 优先去执行优先级较高的线程
java语言采用的就是抢占式调度模型
线程的优先级:
如何来获取线程的优先级:
public final int getPriority() 返回线程的优先级。
如何给线程设置优先级:
public final void setPriority(int newPriority): 更改线程的优先级。
线程的优先级存在一个范围: 这个范围是1-10
如果我们没有给线程设置优先级那么使用的就是默认的优先级: 5
线程的控制
休眠 (掌握)
public static void sleep(long millis) throws InterruptedException
加入
public final void join() throws InterruptedException等待该线程终止。
注意事项:
必须是在启动之后,在调用该方法
礼让
public static void yield()暂停当前正在执行的线程对象,并执行其他线程。
守护
public final void setDaemon(boolean on)将该线程标记为守护线程或用户线程。
终止
public final void stop(): 终止线程
public void interrupt(): 中断线程。
stop和interrupt的区别:
stop: 表示的意思是终止该线程
interrupt: 将线程的阻塞状态中断
|
|