- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的代码中出现中断异常,我正在尝试了解原因。
我试图通过调用 FilesUtils.filesMethod() 在我的文件系统中的某个位置创建文件。
如果我收到 IOException,我会尝试 hibernate 100 毫秒。在 sleep 期间我需要检查我是否被打断(因为 InterruptedException 是 sleep 时的检查异常)。
如果是这样,我打印“Got interrupted”并将当前线程的中断标志设置为 true。
我的日志中显示“被打扰了”。
在我的代码中没有任何地方有这个线程的命令 interrput()。
会是什么?
这个 senario 是否有意义:
ilesUtils.filesMethod() 的方法抛出 InterruptedIOException,因为流已在线程脚下关闭。此外,此 InterruptedIOException 将 Interrupted 标志设置为 true。
我在 catch 中捕获了 InterruptedIOException (IOException e)。
sleep 检查中断标志是否为真。它是(见 1)所以它抛出 InterruptedException。
会是这样吗?
try {
FilesUtils.filesMethod();
break;
} catch (IOException e) {
try {
TimeUnit.MILLISECONDS.sleep(100);
} catch (InterruptedException e1) {
log.info("Got interrupted", e1);
Thread.currentThread().interrupt();
}
}
最佳答案
在不知道FilesUtils.filesMethod()
的实现细节的情况下,我们只能猜测这里发生了什么。但只是抛出 InterruptedIOException
不会导致设置中断标志。
我猜 FilesUtils.filesMethod()
设置了 interrupt在抛出 InterruptedIOException
之前标记,然后 sleep
方法抛出 InterruptedException
(因为设置了中断标志)。
您可以使用Thread.interrupted() 清除中断标志。在调用 sleep 方法之前(如果您希望在这种情况下能够休眠)。所以 sleep 方法不会抛出 InterruptedException
。(如果线程没有再次被中断)
关于java - InterruptedIOException 是否将线程的 Interrupted 标志设置为 true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54689513/
我将 Crashlytics 添加到项目 build.gradle 中: classpath 'com.google.gms:google-services:4.3.3' classpath 'com
我收到 JMS 异常,队列似乎没有退出或没有完成任务。 消息是异步的,大部分时间都可以正常工作,但有时会出现异常。似乎听众一直在听另一边,但在生产者那边得到了这个异常。 javax.jms.JMSEx
许多带有 RxTextView.textChanges 示例和 debounce 的 RxJava 教程使用“实时搜索”。例如:Improving UX with RxJava .所以我已经实现了这个
我的代码中出现中断异常,我正在尝试了解原因。 我试图通过调用 FilesUtils.filesMethod() 在我的文件系统中的某个位置创建文件。 如果我收到 IOException,我会尝试 hi
我在办公室很少遇到 java.io.InterruptedIOException: timeout。 但是,它在商店中不断发生。 所以,我设置 client.addInterceptor(httpLo
我在 Solaris 10 上运行 Java 1.5。 我的程序是一个独立的java程序,使用java并发包和log4j-1.2.12.jar来记录某些信息。主要逻辑如下 ExecutorServic
我知道在引入 InterruptedIOException 时没有太多选择;它必须是 IOException 的子类。 如果您想知道线程是否被中断,InterruptedIOException 的唯一
我有以下代码使用 volley 向网络服务发出请求: RequestQueue requestQueue = Volley.newRequestQueue(getActivity(),new OkH
我使用RxJava和Retrofit进行网络请求,但偶尔会收到错误反馈。在ApiManager.java:216是我添加常用参数的方法。 错误信息: io.reactivex.exceptions.U
我收到这个随机异常,它在通过改造进行网络调用时使我的应用程序崩溃,我正在寻找一些解决问题的指导 Fatal Exception: java.io.InterruptedIOException: thr
我目前有一个高吞吐量的应用程序,我正在使用 Apache 自己提供的 httpClient 4.3.3。我有一个问题,一段时间后我不断收到 InterruptedIOException。原因是 Con
我正在开发 Android 应用程序。我正在使用改造(使用 OkClient)进行 api 请求和 Robolectric 进行测试。我的 api 看起来像这样: @GET("/v1/book/{bo
我在使用 http2 的 post 调用中从 okhttp 随机获得这些以下中断的异常。根据文档,我什至将读/写和调用超时设置为 0,这意味着没有超时。 下面是我的httpclient
我在我的应用程序中使用 RxJava 和 AWS API Gateway。 代码在这里: @Override public Single searchPostsApiCall(Stri
我实现了 MyInputStream.read() 并注意到一个 InterruptedException 可能发生在这个函数中。经过一番搜索,我发现捕获 InterruptedException 并
所以我正在尝试使用 rxjava2 和改造来实现即时搜索,这个过程很简单,只要用户更改文本,就会调用 publish.onNext()(publish 是一个 PublishSubject 对象)。我
我有一个使用 volley 框架从 PHP 服务器端脚本获取数据的原生 android 应用。 它在大多数时间都运行良好,但我有 20% 的失败率。 错误说: com.android.volley.N
我是一名优秀的程序员,十分优秀!