Java线程协作式中断机制

跟着作者的65节课彻底搞懂Java并发原理专栏,一步步彻底搞懂Java并发原理。

作者简介:笔名seaboat,擅长工程算法、人工智能算法、自然语言处理、计算机视觉、架构、分布式、高并发、大数据和搜索引擎等方面的技术,大多数编程语言都会使用,但更擅长Java、Python和C++。平时喜欢看书写作、运动、画画。崇尚技术自由,崇尚思想自由。出版书籍:《Tomcat内核设计剖析》、《图解数据结构与算法》、《图解Java并发原理》、《人工智能原理科普》。

协作式中断

经历了很长时间的发展,Java最终选择用一种协作式的中断机制实现中断。协作式中断的原理很简单,其核心使用一个中断变量作为标识,即对某线程的中断标进行识位,被标记了中断位的线程在适当的时间节点会抛出异常,我们捕获异常后做相应的处理。

实现要点

实现协作中断有三个要点需要考虑:

  1. 是在Java层面实现轮询中断标识还是在JVM中实现。
  2. 轮询颗粒度的控制,一般颗粒度要尽量小周期尽量短以保证响应的及时性。
  3. 轮询时间节点的选择,其实就是在哪些方法里面轮询。例如JVM将Thread类的wait()、sleep()、join()等方法都实现中断标识的轮询操作。

你可能感兴趣的:(线程,协作式,中断,机制,jvm)