-
08-07-2019 - |
質問
った何とも良い方法が思うについての主張に同期かるように、検出同期の違反をする
て使用されるなど、いいクラスはスレッドセーフではありません、というものではありませんするスレッドセーフです。あっても主張るお知らせい(ログになれば何らかの方法(s)から呼び出された複数のスレッド)。
私は憧れのようなものができるためにAWTに派遣スレッドの
public static void checkDispatchThread() {
if(!SwingUtilities.isEventDispatchThread()) {
throw new RuntimeException("GUI change made outside AWT dispatch thread");
}
}
さんみたいものをより一般的です。問題の説明ないのではない明確にしていますが、なんとか人がいくつかの良い方法=)
解決
お探しの聖杯になると思います。AFAIKが存在しない、もしくは、Javaではない可能な言語がこのようなアプローチを容易に作成されます。
"Java並行処理演習"の一部試験のためのスレッドです。で特別な注意をどのようにハードです。
他のヒント
IntelliJ IDEA 多くの有用な並行処理 検査.例えば、警告しまアクセスが同じオブジェクトの両方を同期とunsynchronisedのコンテキストできsynchronising非最終オブジェです。
とも@フェルナンドのこのスレッドdeadlocking、別の問題と複数のスレッドが同時変更の問題である。
ひとつのJavaのメソッドは内部では、ライブラリも数多く回って更新されます。その反復子に確認する値。next()反対でしたが、interatorたのがこのコレクションは更新されながら繰り返し処理を行った.ると思い原理を使えるより一般的です。
両ツールの解析コードによる部品のデータとの間のスレッドおよびその計器のコードに追加の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 チェックのスレッド状態の深さ