返回顶部
首页 > 资讯 > 精选 >基于JDK8总结java中的interrupt
  • 544
分享到

基于JDK8总结java中的interrupt

javainterruptava 2023-05-30 16:05:22 544人浏览 安东尼
摘要

1. interrupt知识点 以下总结基于jdk8本文不会完整说明interrupt,只会罗列一些比较重要的点。完整了解Thread.interrupt可以看参考资料。以下的一些理解新的有助于理解参考资料的文章:interrup

1. interrupt知识点

 以下总结基于jdk8

本文不会完整说明interrupt,只会罗列一些比较重要的点。完整了解Thread.interrupt可以看参考资料。

以下的一些理解新的有助于理解参考资料的文章:

interrupt方法调用后,针对BLOCKED状态的线程,只是设定中断标志位为true。是否响应中断(感知这个标志位的变化)取决于api的设计。JDK的阻塞io API、Synchronized同步块、还有Lock中的很多方法(不包括lockInterruptibly)都是不响应中断的。当然调用线程可以利用标志位判断来使得自己设计的API是可响应中断的。

interrupt方法调用后,针对WaiTING/TIMED_WAITING状态的线程,会上抛interruptedException**并且设置中断标志位false**。例如线程调用Thread.sleep,Object.wait()之后。

如果线程尚未启动(NEW),或者已经结束(TERMINATED),则调用interrupt()对它没有任何效果,中断标志位也不会被设置。

最佳实践:有时候一些方法设计上不允许被中断或者取消,但是当别的线程发来中断请求的时候,也需要进行标记的保留,方便其他调用方“了解情况”

public Task getNextTask(BlockingQueue<Task> queue) { boolean interrupted = false; try {  while (true) {   try {    return queue.take();   } catch (InterruptedException e) {    //fianlly中依赖的状态标记    interrupted = true;    // fall through and retry   }  } } finally {  if (interrupted)  //在fianlly中重新标记,确保没有丢失中断通知   Thread.currentThread().interrupt(); }}

--结束END--

本文标题: 基于JDK8总结java中的interrupt

本文链接: https://lsjlt.com/news/219977.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 基于JDK8总结java中的interrupt
    1. interrupt知识点 以下总结基于JDK8本文不会完整说明interrupt,只会罗列一些比较重要的点。完整了解Thread.interrupt可以看参考资料。以下的一些理解新的有助于理解参考资料的文章:interrup...
    99+
    2023-05-30
    java interrupt ava
  • 基于MySQL 的 SQL 优化总结
    在数据库运维过程中,优化 SQL 是 DBA 团队的日常任务。例行 SQL 优化,不仅可以提高程序性能,还能减低线上故障的概率。 目前常用的 SQL 优化方式包括但不限于:业务层优化、SQL 逻辑优化、索引优化等。其中索...
    99+
    2017-06-28
    基于MySQL SQL 优化总结
  • 基于Android ContentProvider的总结详解
    1.适用场景1) ContentProvider为存储和读取数据提供了统一的接口2) 使用ContentProvider,应用程序可以实现数据共享3) android内置的许多...
    99+
    2022-06-06
    Android
  • 关于Java中的IO流总结(推荐)
    流的继承关系,以及字节流和字符流。 节点流FileOutputStream和FileInputStream和处理流BufferedInputStream和BufferedOutputStream。以及对应的FileOutputWriter...
    99+
    2023-05-31
    java io流 ava
  • 基于android startActivityForResult的学习心得总结
    从昨晚到现在终于调试通了一个startActivityForResult的例子,网上要么有些说的太复杂了,要么说的含糊,搞的我走了很多弯路,所以写篇心得。在一个主界面(主Act...
    99+
    2022-06-06
    学习心得 学习 Android
  • 基于dubbo分组group的一些总结
    目录服务分组分组聚合总结服务分组 1.当一个接口有多种实现时,可用使用group分组。 实现代码如下: package com.xxx.service; public interf...
    99+
    2023-03-21
    dubbo分组group dubbo分组 dubbo group
  • java中基本注解的知识点总结
    1、java.lang.Override是一个标记类型注解,它被用作标注方法.他说明了该方法是继承了父类的方法,就是重写了父类中同名方法。 @Override public vo...
    99+
    2024-04-02
  • AJPFX关于Java NIO的概述总结
    Java NIO 由以下几个核心部分组成:ChannelsBuffersSelectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pi...
    99+
    2023-06-02
  • 基于Maven pom文件中属性变量总结
    目录Maven pom文件属性变量总结1.内置属性2.POM属性 3.自定义属性Maven pom变量定义定义变量并赋值 Maven pom文件属性变量总结 1.内置属性 ...
    99+
    2024-04-02
  • 基于mybatis 动态SQL查询总结
    背景 ××项目需要提供系统部分函数第三方调用接口,基于安全性和避免暴露数据库表信息的基础上进行函数接口的设计,根据第三方调用身份的权限提供某张表的自定义集合。 本项目基于mybati...
    99+
    2024-04-02
  • 关于java中创建线程的方式的总结
    继承Thread类public class ThreadCreator extends Thread{ public static void main(String[] args) { //第一种方式: ...
    99+
    2014-08-21
    java入门 java 创建 线程 方式 总结
  • JAVA基础知识点总结
    文章目录 前言一、JAVA简介二、基础语法面向对象StringIntegerObject异常IO序列化Java 泛型注解反射 前言 一、JAVA简介 Java 是一门面向对象的编程语言。 语言特点:面向对象,平台无关性,支持多...
    99+
    2023-08-18
    java jvm 开发语言
  • 基于sqlserver的四种分页方式总结
    第一种:ROW_NUMBER() OVER()方式 select * from (     select *, ROW_NUMBER() OVER(Order by ArtistId ...
    99+
    2024-04-02
  • 关于MyBaties的基本配置标签总结
    MyBaties的基本配置标签 1-全局配置文件(xxx.properties)引入的两种方式 resource:引入类路径下的资源 url:引入网络路径或磁盘路径...
    99+
    2024-04-02
  • 基于Spring AOP proxyTargetClass的行为表现总结
    Spring AOP proxyTargetClass的行为 要点列表形式 proxyTargetClass true 目标对象实现了接口 – 使用CGLIB代理机制 ...
    99+
    2024-04-02
  • Java中关于double、Double相关问题总结
    标题 java中double与Double的区别声明double变量的时候,加d与不加d有什么区别 java中float与double的区别java Double 详解BigDecimal、Double、String之间的互转j...
    99+
    2023-08-17
    Double
  • java基础之String知识总结
    目录一、概念二、特点三、三种构造方式:四、字符串常量池一、概念 String代表字符串,java语言中所有双引号的字符串都是String的对象,不管是否是new出来的对象。 二、特点...
    99+
    2024-04-02
  • Java基础总结之Thymeleaf详解
    目录一、Thymeleaf语法1.1 变量表达式${…}1.2 选择变量表达式*{…}1.3 消息表达式 #{…}1.4 链接表达式 @{…}1.5 片段表达式 ~{…}二、基本使用...
    99+
    2024-04-02
  • Java文件基本操作总结
    File文件类 java.io.File是文件和目录的重要类(JDK6及以前是唯一) 目录也使用File类进行表示 File类与操作系统无关,但会受到操作系...
    99+
    2024-04-02
  • 关于java中出现问号乱码问题的总结
    在基于Java的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号。这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题。下面是关于此类问题的总结。...
    99+
    2015-10-17
    java入门 java 问号 乱码 总结
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作