}
@Test
public void testOnThreads() throws InterruptedException {
for ( int i = 0; i < 100; i++ ) {
final ThreadLockServiceImpl lockService = new ThreadLockServiceImpl();
final boolean[] vals = new boolean[]{ false };
lockService.lock();
Thread thread = new Thread( new Runnable() {
@Override
public void run() {
lockService.lock();
vals[ 0 ] = true;
}
} );
thread.setName( "temp" );
assertThat( vals[ 0 ] ).isEqualTo( false );
thread.start();
assertThat( vals[ 0 ] ).isEqualTo( false );
lockService.unlock();
Thread.sleep( 120 );
assertThat( vals[ 0 ] ).isEqualTo( true );
}
}