一个类继承Thread,重写run方法(必须),那么它的对象.start()就生成一个线程,并有操作系统分配时间片来运行;
状态:调用start之后就进入可运行状态;
sleep(毫秒数) 进入阻塞状态,直到时间到;
interrupt()中断状态,顾名思义;怎么唤醒呢?interrupted(),静态方法,返回是否中断,将中断状态置为false,这两个操作的先后顺序是?应该是先返回后重置状态,
如果先重置后返回,那么这个返回操作 逗我呢。
线程中断后,调用sleep方法会抛出InterruptedException;
线程运行时,遇到未捕获的异常,线程终止;
join();线程对象的方法,在线程a的run()中,调用线程b.jion();,那么线程a就会等到b运行完再运行,重载方法join(毫秒数)
thread.setPriority(1...10),设置优先级,十个等级,[praɪ'ɒrɪtɪ],MAX_PRIORITY=10,MIN_PRIORITY=1,NORMAL_PRIORITY=5,优先级高度依赖你操作系统,
Linux的Java虚拟机中,优先级被忽略,所有线程有相同优先级,windowsXP七个优先级,映射关系;
在有优先级差别的OS,如果优先级高的线程很少发生阻塞,那么优先级低的线程可能永远运行不了
ThreadGroup g=new ThreadGroup(groupName);线程组,统一管理
Thread t=new Thread(g,threadName);加入线程组
g.activeCount();可运行的个数 g.interrupt();中断本组所有线程
线程组可以有父线程组和子线程组,构造方法ThreadGroup(ThreadGroup parent,String groupName)
获取父线程组ThreadGroup getParent()
未完待续