admin 管理员组文章数量: 887007
《Java多线程编程核心技术》阅读摘要(一)
T1: 进程与线程的关系
windows任务管理系统里 .exe的运行程序就是进程,内部不同的操作就线程。如:微信与微信内不同的聊天窗口。
T2:多线程调用特点:随机性
T3:start和run方法特点
start是启动一个线程, run是执行程序; start属于异步方法,调用后等待CPU调用,而run是同步的,必须等主线程main调用run结束后才能继续。
T4:currentThread():查看当前线程名;isAlive(): 判断当前线程是否处于活动状态;
T5: 终止一个线程,一般使用interrupt(),但是中止不会立即停止线程,只是在线程中打了一个停止的标志。
T6: interrupted() :测试当前线程是否是中断状态,并在执行后将状态清除;
isInterrupted():测试当前线程是否是中断状态,不清除状态。
用处:判断线程是否是运行状态,如果不是就return;
⭐️线程停止建议使用抛异常方式
如果线程在沉睡中停止,那么就会抛出异常,并且清除停止的状态值。
T7:为什么废除Thread.stop()
1.将线程强制停止会导致一些清理工作停止;
2.这个线程如果是包含了对象同步锁,就会解除锁定,导致数据操作不一致问题。
T8:为什么废除Thread.suspend()和Thread.resume()
1.容易造成独占,其他线程无法访问公共对象;
2.因线程暂停导致的数据不同步问题。
T9:线程优先级的继承特性,规则性和随机性
继承特性:在A线程里创建B线程,B线程也会继承A的优先级。
规则性:CPU会尽量把资源给优先级高的线程。
随机性:优先级高的线程未必每次都先执行完
T10:守护线程
守护线程与非守护线程的关系是:
只要非守护线程还没有结束,守护线程就会一直存在;非守护线程结束,那么守护线程也会结束。
典型的例子就是垃圾回收线程,这类线程是为了给其他线程提供便利的服务。
本文标签: 《Java多线程编程核心技术》阅读摘要(一)
版权声明:本文标题:《Java多线程编程核心技术》阅读摘要(一) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732355819h1534405.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论