ThreadGuard
このクラスは、Javaバインディングでのみ使用可能です。
ThreadGuardは、ドライバーが、それを作成した同じスレッドからのみ呼び出されることを確認します。 特に並行してテストを実行する場合のスレッドの問題は、不可解でエラーの診断が難しい場合があります。 このラッパーを使用すると、このカテゴリのエラーが防止され、発生時に例外が発生します。
次の例は、スレッドの衝突をシミュレートします。
結果は以下のとおりです。
下記例を参照してください。
protectedDriver
はメインスレッドで作成されます- Java
Runnable
を使用して新しいプロセスを起動し、新しいスレッド
を使用してプロセスを実行します - メインスレッドのメモリに
protectedDriver
がないため、両方のスレッド
が衝突します。 ThreadGuard.protect
は例外をスローします。
注意:
これは、並列実行時にドライバーを管理するために ThreadLocal
を使用する必要性を置き換えるものではありません。