您的位置:首页 > 编程语言 > Java开发

菜鸟读JAVA²核心技术卷Ⅱ:高级特性(原书第7版)- 线程

2016-02-06 21:13 381 查看
一个类继承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()

未完待续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: