(テスト中に)同期違反を検出できるように、同期などについてアサーションを作成する良い方法はあるのでしょうか。
これは、たとえば、スレッドセーフではなく、スレッドセーフにならないクラスがある場合に使用されます。何らかの方法で、そのメソッドのいくつかが複数のスレッドから呼び出された場合に通知するアサーション(ログなど)があります。
私は、AWTディスパッチスレッド用に次のようなものを作成できることを切望しています:
public static void checkDispatchThread() {
if(!SwingUtilities.isEventDispatchThread()) {
throw new RuntimeException("GUI change made outside AWT dispatch thread");
}
}
もっと一般的なものが欲しいだけです。問題の説明はそれほど明確ではありませんが、誰かが良いアプローチを持っていることを願っています =)