java多线程学习1

1. runnable接口和继承thread两种方法都可以实现用多线程运行任务, 但前者更像是定义一个任务, 而这个任务可以提交给线程去执行, 后者更像单独定制一个线程.

2. 只有调用thread的start的方法才会生成一个新的线程, 我之前以为只要调用run方法就行,实际上run方法调用是在当前线程中执行的.

3. 线程的终端. 不用调用Thread的stop方法,而是向线程发送interrup消息. 同时在任务线程中需要提供interrupt中断的处理代码.


线程属性

1. 线程的优先级

新线程继承父线程的优先级, 通过setPriority可以设置线程的优先级. 但是jvm的优先级机制依赖于宿主机, 不能保证优先级一定能够反应到线程的调度中去, 如linux就上就无视优先级.

2.守护线程

setDaemon方法设置, 功能????

3. 线程组

从功能上将线程区分开了进行管理, 这样就可以同时对一组线程进行操作. 线程组可以包含子线程组, 那么父线程的操作会递归在子线程组中调用?????

TreadGroup g = new ThreadGroup(groupname);

Thread t  = new Thread(g, threadName);

g.interrupt()向该线程组中的线程发送中断消息.

4. 未捕获异常处理器

调用顺序: 线程的未捕获异常处理器(如果有) ---没有---> 线程组的未捕获异常处理器---没有---> 父线程组的未捕获异常处理器

Thread或者ThreadGroup的setUncaghtExcetionhandler

用途是在线程在一个线程因为一个未捕获异常而中断的时候,在线程死亡之前进行一个异常处理, 比如写日志等等.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值