java多线程编程核心技术——第七章补漏拾遗

本章主要知识点:

  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()即可。


 

 

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

 

 

posted @ 2017-12-20 15:29  萌新啊萌新是我  阅读(240)  评论(0编辑  收藏  举报