So,here is the question,within the connection thread,how do I catch

the InterruptedException?

你不能.由于如果您的线程在读取I / O操作中被阻止,则无法中断.这是因为中断只是设置一个标志来指示线程已被中断.但是如果您的线程已被I / O阻塞,它将看不到该标志.

正确的方法是关闭底层套接字(线程被阻塞),然后捕获异常并将其传播.

因此,由于您的连接线程扩展了Thread,请执行以

@Override

public void interrupt(){

try{

socket.close();

}

finally{

super.interrupt();

}

}

这样就可以中断I / O上阻塞的线程.

然后在你的run方法中执行:

@Override

public void run(){

while(!Thread.currentThread().isInterrupted()){

//Do your work

}

}

所以在你的情况下不要试图捕获InterruptedException.您无法中断I / O上阻塞的线程.只需检查您的线程是否已被中断,并通过关闭流来促进中断.

@H_404_10@

@H_404_10@

相关文章

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

java 线程 interrupted_Java:当被另一个线程中断时,如何在线程上捕获InterruptedException?...相关推荐

  1. Java:写2个线程,其中一个线程打印1-52,另一个线程打印A-Z,打印顺序应该是12A34B56C...5152Z。

    写2个线程,其中一个线程打印1-52,另一个线程打印A-Z,打印顺序应该是12A34B56C...5152Z 多线程编程:使用Runnable接口实例创建线程.使用线程等待方法wait(): pack ...

  2. 一个http请求就是一个线程吗,java的服务是每收到一个请求就新开一个线程来处理吗...

    一个http请求就是一个线程吗,java的服务是每收到一个请求就新开一个线程来处理吗 答案是:是,一个http请求,就是一个线程. https://blog.csdn.net/elvis_lfc/ar ...

  3. java多线程为啥一直用的一个线程_一个Java多线程的问题,颠覆了我多年的认知!...

    作者 | ithuangqing 来源 | 编码之外(ID:ithuangqing) 碰见个奇怪的多线程问题 小白们也不用怕,今天的文章你们都能看得懂,最近的学习中,碰到这样的一个问题: Java创建 ...

  4. java 进程 线程数量_如何查询一个进程下面的线程数(进程和线程区别)

    在平时工作中,经常会听到应用程序的进程和线程的概念,那么它们两个之间究竟有什么关系或不同呢? 一.对比进程和线程 1)两者概念 -  进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程 ...

  5. java线程堆栈nid.tid_java排查一个线上死循环cpu暴涨的过程分析

    问题,打一个页面cpu暴涨,打开一次就涨100%,一会系统就卡的不行了. 排查方法,因为是线上的linux,没有用jvm监控工具rim链接上去. 只好用命令排查: top cpu排序,一个java进程 ...

  6. java 模拟电梯_请使用的Java的多线程知识来编写一个程序,实现一个简单的摩天大楼的电梯模型程序是以一座摩天大楼的多个电梯为背景,用线程、流程控制、随机函数等知识来模拟它。2、电梯的描述:...

    请使用的Java的多线程知识来编写一个程序,实现一个简单的摩天大楼的电梯模型 程序是以一座摩天大楼的多个电梯为背景,用线程.流程控制.随机函数等知识来模拟它. 2. 电梯的描述: 电梯是日常生活中经常 ...

  7. Java直接杀死线程方法_如何杀死一个线程?

    1.简介 在这篇短文中,我们将讲述一下java中如果结束一个线程-事实上,这并没有想象中的那么简单,因为 Thread.stop()方法已经被废弃啦. 根据Oracle的解释,stop()方法可以导致 ...

  8. java语言打印1到10的偶数_#Java编程# 编写一个应用程序创建两个线程,一个线程打印输出1~100之间所有的奇数,另外一 求写一个用JAVA求1~...

    import java.util.Random; class A extends Thread { \tint i=1; \tRandom r=new Random(); \tpublic void ...

  9. java 线程 进度条_关于Java进度条多线程调用问题,一个很实用的问题,希望熟悉多线程编程的高手看看...

    目前我在做一个C/S架构的Java应用,其中有一项查询操作非常耗时,可以增加个进度条以提高用户界面友好型.大体流程是这样的,在一个方法内 protected void action_queryButt ...

  10. java如何创建一个两个数的队列_java线程池 如何构建一个线程立即到拉到MAX数量跑业务,线程到MAX了,额外的队列可以存储任务的线程池...

    背景:JDK的线程池的运作原理 : JDK的线程池的构造函数有7个参数,分别是corePoolSize.maximumPoolSize.keepAliveTime.unit.workQueue.thr ...

最新文章

  1. hive mysql 删除表_Hive-删除表(drop、truncate的区别)
  2. 浅谈商业银行绿色数据中心建设
  3. 使用ViewContainerRef探索Angular DOM操作技术
  4. java gui中文变方块_150道Java面试基础题(含答案)
  5. 真香 Jenkins 主从模式解决问题So Easy~
  6. 解决:能提交和更新,但SVN查看log时提示找不到路径'svn/XXXX'
  7. 终端启动tomcat报错 command not found 解决方法 (含启动和关闭命令)
  8. python分词词典_基于python的分词算法的实现(3) – 建立字典 | 学步园
  9. 在一个字符串中找到第一个只出现一次的字符,并返回它的位置
  10. C++含有无符号类型的表达式的计算
  11. 噪声报警c语言程序,环境噪声监测器(软件部分).doc
  12. 学习Vue电商后台管理系统剩余功能模块的bug
  13. Java实现各种节日维护 农历,阳历,二十四节气 自定义节日,根据当前日期获取节日
  14. Visual Studio 2008 无法安装解决办法
  15. 城市公交管理系统 JAVA MySQL
  16. 嵌入式软件工程师面试题汇总
  17. CG动画制作项目第五篇:AE中火焰效果的实现(particular的使用)
  18. Python爬虫教程-10-UserAgent和常见浏览器UA值
  19. Ae501 100+图形拼接马赛克过渡效果图像幻灯片工具包含垂直竖屏版ae模板
  20. 推荐系统lambda架构学习笔记之推荐系统(一)

热门文章

  1. Trait这个类的特性
  2. 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第2节 反射_5_反射_概述
  3. MySQL性能优化设置
  4. vector性能调优之resize与reserve
  5. IIS网站设置禁止IP访问设置方法
  6. UML Use Case之间的各种关系
  7. [导入]如何调试你的C#程序
  8. CF1109F Sasha and Algorithm of Silence's Sounds LCT、线段树
  9. 51Nod 1131 - 覆盖数字的数量(分类讨论)
  10. PowerDesigner逆向工程,从SQL Server数据库生成Physical Model