問題タブ [interrupted-exception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Guava: Throwables.propagate および InterruptedException
InterruptedException
GuavaでThrowables.propagate(e)を使用するときにsを処理するためのベストプラクティスは何ですか?
throw Throwables.propagate(e)
私は、特にチェック例外をスローしないメソッドや、例外処理が呼び出し元の責任であるメソッドでを使用するのが大好きです。しかし、InterruptedException で期待することはできません。
スレッドが中断されたという事実を失いたくないので、次のように記述します。
Guavaでこれを行う方法はありますか? スレッドが InterruptedException をラップして伝播している場合、スレッドを中断済みとして設定する Throwables.propagate() のようなものを使用する (下位互換性がある?!) 方法はありますか?
java - Future.cancel() メソッドが機能しない
私が持っているコードは Callable インスタンスを作成し、 ExecutorService を使用して新しいスレッドが作成されています。スレッドの実行が完了していない場合、一定時間後にこのスレッドを強制終了したいと思います。jdk のドキュメントを読んだ後、Future.cancel() メソッドを使用してスレッドの実行を停止できることに気付きましたが、残念ながら機能していません。もちろん、 future.get() メソッドは、規定の時間 (私の場合は 2 秒) 後にスレッドに割り込みを送信しており、スレッドでさえこの割り込みを受信していますが、この割り込みは、スレッドが実行を終了した後にのみ発生します。完全に。しかし、2秒後にスレッドを殺したいです。
これを達成する方法を教えてください。
テストクラス コード:
呼び出し可能なクラス コード:
java - 同期ブロックで Object.wait() の InterruptedException をキャッチする場所は?
私が理解しているように、これは Java のマルチスレッドの非常に一般的なスニペットです。
そして別のスレッドで
しかし、try と catch をどこに配置すればよいかわかりません。同期ブロック全体を囲むことができlock.wait()
ますか? 経験則とは何ですか?それは本当に重要ですか?
ハンドリングについては、この場合コールThread.currentThread().interrupt()
してもよろしいですか?
java - Androidのjava.ioメソッドはInterruptedIOExceptionをスローしますか?
InterruptedIOExceptionが導入されたとき、選択肢があまりなかったことを理解しています。IOExceptionのサブクラスである必要がありました。
スレッドが中断されたかどうかを知りたい場合、 InterruptedIOExceptionの唯一の存在は、間違いなく人生を少し複雑にします。これは、スレッドが中断されたという情報を維持したい場合は、 InterruptedIOExceptionをIOExceptionとは異なる方法で処理する必要があるためです。
InterruptedIOExceptionはjava.nio用に発明されましたが、少なくともSolarisでは、InterruptedIOExceptionをスローするjava.ioメソッドがあるという報告があります。また、新しいAndroidバージョンでは、ライブラリがjava.ioからjava.nioに移行したり、追加のメソッドが何らかの形でマッピングされたりするリスクがあります。
安全を期すために、 InterruptedIOExceptionを考慮する必要があると思う傾向があります。どう思いますか?洞察、経験、戦略?
eclipse - InterruptedExceptionを使用したEclipse RCPキャンセルジョブ
Eclipse RCP 3.7 で、長時間実行されるジョブを InterruptedException でキャンセルすることは可能ですか?
java - Java割り込みフラグの診断
私はこのように見えるいくつかのコードを持っています:
このコードは、割り込みフラグが内部のどこかでクリアされているため、whileループを終了できない場合がありますdoWork()
。このメソッドは、サードパーティのライブラリを呼び出します。そのうちの1つは、割り込みを飲み込んでいます。
まず、これを診断するために使用できる特定の手法はありますか?第二に、この種のバグを見つけることができる静的分析ツールはありますか?
file-upload - MVC4 Web-API を使用したファイル アップロード フォーム: エラー 101 の取得 (net::ERR_CONNECTION_RESET): 接続がリセットされました。エラー
VS2010 を使用して MVC4 Web-API アプリでコントローラー アクションにアクセスしようとすると、Web ページを使用できないというエラーが発生します。小さなサイズ (1 MB 未満) の pdf ドキュメントをアップロードしようとしています。バイト [] を作成して、別のサービスに渡します。ただし、通常のコントローラーにも API コントローラーにもアクセスできません。私のアプリは動作し、すべてのビュー/パーシャル/など。これ(ファイルアップロードフォームのあるページ)を除いて、問題なく表示されます。このビューは、厳密に型指定されたパーシャルです。
ここに示されている方法を使用してみました: Upload a file MVC 4 Web API .NET 4およびここ: http://blogs.msdn.com/b/henrikn/archive/2012/03/01/file-upload -and-asp-net-web-api.aspxと、アクション属性がアクションを見つけられないため、両方とも機能しません。api/Documents を配置しても Home/api/Documents を配置しても機能しません。だから私はあきらめて、html ヘルパーの beginform に戻りました。そのため、派手な Web API をあきらめた後 (非同期を機能させることができませんでした)、古い学校に行ってフォームを介してファイルを渡すだけだと考えましたが、同じエラーが発生します。また、ページの再作成、httphandlers、ランタイムの調整、ルートと apiroute の調整を試みましたが、完全に途方に暮れています。助けてください!
私のUI:
私のエラー:
私のフォーム:
私のAPIコントローラ:これは意味がないことはわかっていますが、ここに到達するかどうかを確認するためのブレークポイントがありますが、そうではありません...
私の通常のコントローラーアクション:
私の WebApiConfig:
私のルート構成:
My WebConfig の一部:
java - Javaで原因不明のスレッド中断をデバッグする方法
InterruptedException
スタックトレースの関連部分であるJenkinsから取得しています。
その割り込みは予期せぬものであり、これまでのところ説明されていません。デバッガーでこれを実際に発生させることはできません。本番環境で使用されているCIでのみ発生し、Jenkinsジョブ実行の1%未満で発生することはほとんどありません。さまざまなログを調べても、これまでのところ、原因の有用なヒントは得られていません。当時、リモートのJenkinsノードは切断されていなかったようです。
質問:上記の制約を使用して、InterruptedExceptionの原因、またはその他の潜在的に有用なものを見つける方法は?
このような例外の原因を突き止めるための他のアイデアも歓迎します!おそらく、ジェンキンス/ハドソン特有の何かであり、この以前の質問ではカバーされていません(その答えはここではあまり役に立ちません)。
java - whileループで中断された例外とisInterrupted
次のコードがあると仮定します。
ここThread.sleep
で`InterruptedExceptionをスローするので、次のようになります。
ヒットした場合catch
、while
ループは続行しますか、それとも実行する必要がありますThread.currentThread().interrupt()
か?このメソッドを呼び出すと、それも原因になりませんInterruptedException
か?それ以外の場合、そもそもどのようにして例外を取得しましたか?
また、私が持っている場合:
再び私のwhile
ループは壊れますか?