摘要: 本节主要说明以下三个问题 1. start()的启动顺序不代表线程的启动顺序 2. yeild的作用 3. 守护线程 1、start()与线程启动顺序 输出结果: 在main方法中,设置了start的顺序为1、2、3、4、5,但线程的启动顺序与之无关。 容易产生的误解是main线程是第一个线程。由输 阅读全文
posted @ 2019-06-01 19:09 落音 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 停止线程 停止线程需要一定的技巧。需要做好防范措施,避免“线程不安全”。 1. 使用Thread.interrupt() 使用interrupt停止线程 原理 对线程队形调用interrupt()方法,这个方法仅仅是给线程打一个停止状态的标记,并不会真正停止。 可以通过条件判断检验这个标记后,主动抛 阅读全文
posted @ 2019-06-01 19:08 落音 阅读(795) 评论(0) 推荐(0) 编辑
摘要: 暂停线程 本节介绍两个 被废弃 的用于线程暂停和恢复的方法suspend()、resume()。主要探究废弃原因,强调线程的安全性。主要有两个原因 原因1: suspend()、resume()使用不当,极易造成对公共的同步对象的独占,使其他线程无法访问同步对象 例如: 输出: 原因2: 容易出现因 阅读全文
posted @ 2019-06-01 19:08 落音 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 多线程的优先级问题 重点:理解线程优先级的 继承性、规则性、随机性 线程的优先级 在操作系统中,线程可以划分优先级,。尽可能多的给优先级高的线程分配更多的CPU资源。 线程的优先级分为1~10,有三个预定义常量: 优先级继承性 优先级具有 继承性 (由线程a启动的线程b的优先级与a相同),比较简单, 阅读全文
posted @ 2019-06-01 19:07 落音 阅读(366) 评论(0) 推荐(0) 编辑