1

Eclipse3.7.2はSolaris11X86でバグがあります。そのメインスレッドはランダムにスリープ状態になり、スリープ状態から復帰することはありません。メインスレッドが実行を継続できるように、スリープを中断したいと思います。出来ますか?

詳細はこちら:Eclipseは永久にハングし、スレッドダンプはメインスレッドがスリープしていると言います

4

2 に答える 2

3

自分が作成していないコードを実行しているスレッドに割り込むのは良い考えではないと思います。デッドロックやデータ構造の破損などが発生する可能性があります。または、問題がない可能性もあります。しかし、それはあなたのリスクです...

はい、あなたがやりたいことをすることは可能です。そのアプリケーション内で独自のコードを実行できる場合は、特定の名前を持ち、長時間スリープしているスレッドが表示されるまでスレッドを監視し、次の方法で簡単に中断できます。

Thread.enumerate()
Thread.getName()
Thread.interrupt()

コードをプログラムの他の部分と同時に実行するには、ランチャーを変更します。クラスパスを変更し、独自の監視スレッドを開始してから実際のmainメソッドを呼び出すmainメソッドを使用してクラスを作成します。

または、監視スレッドをJavaエージェントとして記述し、「-javaagent」スイッチを使用することもできます。詳細については、 http://docs.oracle.com/javase/7/docs/api/java/lang/instrument/package-summary.htmlを参照してください。

于 2012-09-01T01:15:29.337 に答える
0

Eclipseの場合、Eclipseはオープンソースであるため、>>DO<<はコードにアクセスできます...。

コードをダウンロードし、変更して(たとえば、ウォッチドッグを実装するために)、再構築する方が、おそらくより良い/よりクリーンで/より簡単でしょう。

おそらくこれもEclipseのバグとして報告する必要があります。

于 2012-09-01T02:55:25.073 に答える