菜鸟读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()
未完待续
状态:调用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()
未完待续
相关文章推荐
- Struts学习的总结
- JAVA中的接口和抽象类
- JAVA中的接口和抽象类
- jdk小知识
- eclipse错误:Syntax error , 'for each' statements are only available if source level is 1.5
- Java [Leetcode 234]Palindrome Linked List
- JAVA多线程下载
- 蓝桥杯 基础练习 十六进制转十进制 java
- java JDK8 学习笔记——第13章 时间与日期
- The Java™ Tutorials — Generics :Non-Reifiable Types 不可具体化类型
- java学习心得——代码重铸
- Java基础——I/O
- java之Set源代码浅析
- java小的误区
- spring声明式事务 同一类内方法调用事务失效
- Eclipse 安装fatjar插件时报错的问题
- Bravo!Java学习笔记(2)---泛型程序设计
- Java实现双向链表(两个版本)
- java进制转换器 图形用户界面 十进制及其相反数分别转化为二,四,八,十六进制
- Java [Leetcode 257]Binary Tree Paths