thread introduction
sleep(),yield()为Thread类的静态方法,控制当前线程睡眠和暂时让出执行权给其他线程。想手机一类的运行环境没有抢占式调度,只有线程自己调用yield方法主动放弃执行权其它线程才有机会执行。
start(),join()为实例方法,控制一个线程开始和等待结束。
想中断一个线程的执行可以调用实例方法interrupt(),该方法将将线程的一个中断标志置位。在线程的运行代码中需要检测此标志位,可以利用静态方法currentThread().isInterrupted()方法来检测,如果该方法为真,需要准备结束线程。但是当线程处于睡眠状态或者阻塞状态时将会抛出一个InterruptedException异常。
线程的6种状态
new 刚刚生成,还没有start.
runnable,start了
blocked,等待一个锁
waiting 等待时间片
timed waiting 计时等待
terminated 终止
线程的优先级3个级别,max,min,normal