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

1 篇文章 0 订阅

一个类继承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()


未完待续


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值