質問

った何とも良い方法が思うについての主張に同期かるように、検出同期の違反をする

て使用されるなど、いいクラスはスレッドセーフではありません、というものではありませんするスレッドセーフです。あっても主張るお知らせい(ログになれば何らかの方法(s)から呼び出された複数のスレッド)。

私は憧れのようなものができるためにAWTに派遣スレッドの

public static void checkDispatchThread() {
    if(!SwingUtilities.isEventDispatchThread()) {
        throw new RuntimeException("GUI change made outside AWT dispatch thread");
    }
}

さんみたいものをより一般的です。問題の説明ないのではない明確にしていますが、なんとか人がいくつかの良い方法=)

役に立ちましたか?

解決

お探しの聖杯になると思います。AFAIKが存在しない、もしくは、Javaではない可能な言語がこのようなアプローチを容易に作成されます。

"Java並行処理演習"の一部試験のためのスレッドです。で特別な注意をどのようにハードです。

他のヒント

き問題が生じスレッドJava通常、関連の行き詰まり検知だけで監視かのスレッドがアクセス同期課でも同時に行います。 JMX 拡張子を追加済みのJREから1.5助けることができます検出方にデッドロック.実際に使用していまJMX内部に、独自のソフトウェアを自動的に検出するデッドロック、痕跡が見つけたものです。

ここでは 約があるととても便利です。

IntelliJ IDEA 多くの有用な並行処理 検査.例えば、警告しまアクセスが同じオブジェクトの両方を同期とunsynchronisedのコンテキストできsynchronising非最終オブジェです。

同様に、 FindBugs 多くの類似 チェック.

とも@フェルナンドのこのスレッドdeadlocking、別の問題と複数のスレッドが同時変更の問題である。

ひとつのJavaのメソッドは内部では、ライブラリも数多く回って更新されます。その反復子に確認する値。next()反対でしたが、interatorたのがこのコレクションは更新されながら繰り返し処理を行った.ると思い原理を使えるより一般的です。

コンテスト または Covertity

両ツールの解析コードによる部品のデータとの間のスレッドおよびその計器のコードに追加のbytecodeの作成クラス)の確認がまとめられることにより、が二つのスレッドを変更してみてください一部のデータも同時に行います。二つのスレッドを実行、各時間の開始し若干異なる時間オフセットに多くの可能な組み合わせアクセスパターン

また、この質問: ユニット検査は、下記からダウンロードできますか?

おに興味のあるアプローチのピーター-Veentjer bloggedついて の並行処理で検出器.るとは思えない彼は、オープン調達のこだと言う基本的な考え方としてはAOP機器のコードがんプロファイリング及び記録するスレッドに触れる。その後、相手を自動的に解析では、生成されます。

できれば特定のスレッド安全でないクラスの静的解析が伝えることができるようにするかどうかも"脱出"を可視になっている複数のスレッド)。通常、プログラマーな頭が明らかな誤りが発生しがちています。ツールできるのも同様です。

とはいえ、ご利用の場合について説明していただけますいなど簡単なものを思い出しスレッドは、この主張にも十分にお任せください。

class Foo {

  private final Thread owner = Thread.currentThread();

  void x() {
    assert Thread.currentThread() == owner;
    /* Implement method. */
  }

}

オーナーの参照はいまだに人口の場合も主張を無効な完全に"します。私も目が離せない展開となっ装の多くは私の授業はこの定型.

Thread.holdsLock(オブジェクト) 方法が果たしている役割は重要です。

の具体例で、SwingLabsはヘルパーコードを検出するイベントスレッド違反を掲げています。 https://swinghelper.dev.java.net/

械的風味さん一応前に線路のだろうかと感じてしまったのJProbe javaプロファイリングツールです。一つのインターナショナル(threadalyzer?) たスレッド同期反対していた。先のウェブページでは、と思いますかツールによるものの名称又は私が覚えておいてください。で入手できるかもしれませんが、いを持っているのも似ている。 http://www.quest.com/jprobe/performance-home.aspx

利用できる Xsltproc、プロファイラ または JConsole チェックのスレッド状態の深さ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top