ThreadGuard
Esta classe está disponível apenas no Java Binding
ThreadGuard verifica se um driver é chamado apenas da mesma thread que o criou. Problemas de threading, especialmente durante a execução de testes em paralelo, podem ter erros misteriosos e difíceis de diagnosticar. Usar este wrapper evita esta categoria de erros e gerará uma exceção quando isso acontecer.
O exemplo a seguir simula um conflito de threads:
O resultado mostrado abaixo:
Conforme visto no exemplo:
protectedDriver
será criado no tópico principal- Usamos Java
Runnable
para ativar um novo processo e uma novaThread
para executar o processo - Ambas as
Thread
s entrarão em conflito porque a thread principal não temprotectedDriver
em sua memória. ThreadGuard.protect
lançará uma exceção.
Nota:
Isso não substitui a necessidade de usar ThreadLocal
para gerenciar drivers durante a execução em paralelo.