一个线程对象 一辈子只能start一次
1. 获取主线程 线程对象
Thread.currentThread()
2.线程优先级:
子线程默认的优先级是:5
主线程默认的优先级也是5
优先级只能是1~10
线程控制的几个方法:
1.线程休眠<br /> public static void sleep(long millis)
2. 线程加入(线程强制执行)<br /> public final void join()<br /> 在当前线程启动之后 **其他线程 未启动之前调用**<br /> 让当前线程执行完以后 再执行其他线程
3. 线程礼让<br /> public static void yield()<br /> 会礼让其他正在等待的线程一次
4. 后台线程(设置守护线程)<br /> public final void setDaemon(boolean on)<br /> 被守护的线程如果执行完毕 则 守护线程立即停止<br /> <br /> 5.中断线程<br /> public final void stop()<br /> **终止线程!!! (不推荐使用)**<br /> 会直接终止线程 导致线程剩余的代码无法执行<br /> 会产生丢失数据问题
public void interrupt()(**不推荐使用**)<br /> 中断线程的睡眠 让睡眠提前终止 并抛出一个异常<br /> 直接匹配sleep的catch代码块
到底如何提前结束一个线程?
推荐使用布尔值 结束线程的长循环 或者提前结束 耗时操作