本章主要知识点:

  1)线程组的使用

  2)如何切换线程状态

  3)SimpleDateFormat类与多线程的解决方法

  4)如何处理线程异常。

这本书基本来到了终点,其实在第四章来说,核心(基础)的线程知识就已经结束了。

剩下的是一些关于线程方面的应用与场景:比如定时器以及多线程中的单例问题。

而这一章要面对的是一些其他的问题。


7.1线程的状态

  线程对象在不同的运行时期有不同的状态,状态信息就存在于State枚举类中。

这一节,主要是结合前面学过的内容,将这个图看懂。


7.2线程组

7.2.1线程对象关联线程组:1级关联

主要就是父对象中有子对象但并不创建孙对象。也就是说只存在一个线程组,且这个线程组下有多个线程。

7.2.2线程对象关联线程组:多级关联

多级关联:父对象中有子对象,子对象中有子对象。

7.2.3线程组自动归属特性

自动归属就是自动归到当前线程组中

7.2.4获取根线程组

7.2.5线程组里加线程组

7.2.6组内线程批量停止


7.3使线程更具有有序性

使多个线程使用同一个锁来实现。


7.4SimpleDateFormat非线程安全

  由于SimpleDateFormat是非线程安全的,所以在多线程中容易出现问题。

  解决方法1:创建多个SimpleDateFormat实例(这里要建议使用一个工具类什么的,在每一次调用其中的方法时都能够创建新对象)。

  解决方法2:使用ThreadLocal类,将SimpleDateFormat绑定到其对应的线程上,使每一个线程都有其本身的SimpleDateFormat对象。


7.5线程中异常处理

直接使用匿名内部类格式重写UncaughtExceptionHandler()即可。


本文内容是书中内容兼具自己的个人看法所成。可能在个人看法上会有诸多问题(毕竟知识量有限,导致认知也有限),如果读者觉得有问题请大胆提出,我们可以相互交流、相互学习,欢迎你们的到来,心成意足,等待您的评价。

java多线程编程核心技术——第七章补漏拾遗的更多相关文章

  1. Java多线程编程核心技术-第1章-Java多线程技能-读书笔记

    第 1 章 Java 多线程技能 本章主要内容 线程的启动 如何使线程暂停 如何使线程停止 线程的优先级 线程安全相关的问题 1.1 进程和多线程的概念及线程的优点 进程是操作系统结构的基础:是一次程 ...

  2. Java多线程编程核心技术-第4章-Lock的使用-读书笔记

    第 4 章 Lock 的使用 本章主要内容 ReentrantLocal 类的使用. ReentrantReadWriteLock 类的使用. 4.1 使用 ReentrantLock 类 在 Jav ...

  3. java多线程编程核心技术——第三章

    第一节等待/通知机制 1.1不使用等待/通知机制实现线程间的通讯 1.2什么是等待/通知机制 1.3等待/通知机制的实现 1.4方法wait()锁释放与notify()锁不释放 1.5当interru ...

  4. java多线程编程核心技术——第三章总结

    第一节等待/通知机制 1.1不使用等待/通知机制实现线程间的通讯 1.2什么是等待/通知机制 1.3等待/通知机制的实现 1.4方法wait()锁释放与notify()锁不释放 1.5当interru ...

  5. Java多线程编程核心技术-第7章-拾遗增补-读书笔记

    第 7 章 拾遗增补 本章主要内容 线程组的使用. 如何切换线程状态. SimpleDataFormat 类与多线程的解决办法. 如何处理线程的异常. 7.1 线程的状态 线程对象在不同的运行时期有不 ...

  6. Java多线程编程核心技术-第5章-定时器 Timer-读书笔记

    第 5 章 定时器 Timer 定时 / 计划功能在移动开发领域使用较多,比如 Android 技术.定时计划任务功能在 Java 中主要使用的就是 Timer 对象,他在内部使用多线程的方式进行处理 ...

  7. Java多线程编程核心技术-第2章-对象及变量的并发访问-读书笔记

    第 2 章 对象及变量的并发访问 本章主要内容 synchronized 对象监视器为 Object 时的使用. synchronized 对象监视器为 Class 时的使用. 非线程安全是如何出现的 ...

  8. java多线程编程核心技术——第四章总结

    第一节使用ReentrantLock类 1.1使用ReentrantLock实现同步:测试1 1.2使用ReentrantLock实现同步:测试2 1.3使用Condition实现等待/同步错误用法与 ...

  9. Java多线程编程核心技术-第6章-单例模式与多线程-读书笔记

    第 6 章 单例模式与多线程 本章主要内容 如何使单例模式遇到多线程是安全的.正确的. 6.1 立即加载 / “饿汉模式” 什么是立即加载?立即加载就是使用类的时候已经将对象创建完毕,常见的实现办法就 ...

随机推荐

  1. Scrum Meeting Alpha - 10

    Scrum Meeting Alpha - 10 NewTeam 2017/11/06 地点:主楼和3号楼之间的走廊2楼 任务反馈 团队成员 完成任务 计划任务 安万贺 完成了对涉及内容修改的API的 ...

  2. Java--集合(一)

    一.前序     前几篇文章我结合数据结构说了一些常用的集合,但是我感觉那样可能不系统,于是乎想着重写,按照由整体到细节的方式去写,这样才能更好的把握集合,废话不多说开始吧: 二.集合框架      ...

  3. 休息,归类一下CSS初级的东西

    css基础的东西集中体现在了"磊盒子"这一个枯燥无味的东西上面,灵活的运用盒子的内外边距,浮动,定位以及一些基础的属性,将一个静态的页面变得磊出来,这是CSS基础的练习. 在css ...

  4. Python中的三种数据结构

    Python中,有3种内建的数据结构:列表.元组和字典.1.列表     list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目.列表中的项目.列表中的项目应该包括在方括号中,这 ...

  5. firefox被hao123绑架的解决办法

    1.在地址栏里输入"about:support" 2.单击配置文件夹后的"打开文件夹"按钮. 3.在弹出来的文件夹中找到那个叫做"user.js&qu ...

  6. Oracle函数sys_connect_by_path 详解

    Oracle函数sys_connect_by_path 详解 语法:Oracle函数:sys_connect_by_path 主要用于树查询(层次查询) 以及 多列转行.其语法一般为:       s ...

  7. python 开源全文检索工具 Whoosh

    About Whoosh Whoosh is a fast, featureful full-text indexing and searching library implemented in pu ...

  8. Python 面向对象(二) 特殊方法

    一些Python特殊方法的汇总 __bases__    类的基类,返回元祖__base__  类的基类,也叫父类__call__ '类名()',类名加括号调用时执行的语句__class__ 对象或类 ...

  9. 《Metasploit魔鬼训练营》第一章习题

    书本p391.The time line is as follows: * May 7, 2007: Initial defect disclosure to the security@samba.o ...

  10. HTML5开发必备的工具

    现在除了移动APP开发之外,比较火的就是html5开发了,现阶段的HTML5被看做是Web开发者创建流行web应用的利器,增加了对视频和Canvas2D的支持,它的优点就是可以跨平台使用,比如你是开发 ...