@Override public long checkPointIfNeeded( TriggerInfo triggerInfo ) { checkPointerLatch.startAndWaitForAllToStart(); checkPointerLatch.waitForAllToFinish(); return 42; }
@Override public void run() { latch.startAndWaitForAllToStart(); latch.waitForAllToFinish(); }
public void startAndWaitForAllToStartAndFinish() { startAndWaitForAllToStart(); waitForAllToFinish(); }
@Override public void awaitingPopulationOfRecoveredIndex( StoreIndexDescriptor descriptor ) { // When we see that we start to await the index to populate, notify the slow-as-heck // populator that it can actually go and complete its job. indexId.set( descriptor.getId() ); latch.startAndWaitForAllToStart(); } };
testLatch.startAndWaitForAllToStart(); jobLatch.waitForAllToFinish(); concurrentCount.decrementAndGet(); jobLatch.startAndWaitForAllToStart(); testLatch.waitForAllToStart();
testLatch.startAndWaitForAllToStart(); jobLatch.waitForAllToFinish(); jobLatch.startAndWaitForAllToStart(); testLatch.waitForAllToStart();
jobTracker.scheduleSamplingJob( job ); latch.startAndWaitForAllToStart(); latch.waitForAllToFinish();
latch.startAndWaitForAllToStart(); latch.waitForAllToFinish();
waitingLatch.startAndWaitForAllToStart(); jobTracker.waitUntilCanExecuteMoreSamplingJobs(); waiting.set( false );
@Test public void shouldProvideUserByUsernameEvenIfMidSetUsers() throws Throwable { // Given FileUserRepository users = new FileUserRepository( fs, authFile, logProvider ); users.create( new User.Builder( "oskar", LegacyCredential.forPassword( "hidden" ) ).build() ); DoubleLatch latch = new DoubleLatch( 2 ); // When Future<Object> setUsers = threading.execute( o -> { users.setUsers( new HangingListSnapshot( latch, 10L, Collections.emptyList() ) ); return null; }, null ); latch.startAndWaitForAllToStart(); // Then assertNotNull( users.getUserByName( "oskar" ) ); latch.finish(); setUsers.get(); }
Thread thread2 = new Thread( runnableForThread2, "Transaction Thread 2" ); thread2.start(); latch.startAndWaitForAllToStart();
latch.startAndWaitForAllToStart(); Thread.sleep( 1000 );