@Test public void testAllUsAsciiCharactersMustBeEncodableWhenRunningMultithreaded() throws Throwable { final CountDownLatch start = new CountDownLatch(NUM_IO_THREADS); class CheckFactory implements TaskFactory { @Override public Callable<?> newTask(int threadNum) { return new Check(); } class Check implements Callable<Void> { @Override public Void call() throws CharConversionException, InterruptedException { start.countDown(); start.await(); for (int i = 0; i < 100000; i++) getArchiveDriver().assertEncodable(US_ASCII_CHARACTERS); return null; } } // Check } // CheckFactory runConcurrent(NUM_IO_THREADS, new CheckFactory()).join(); } }
final TaskJoiner sync = runConcurrent(NUM_CPU_THREADS, new SyncFactory()); try { runConcurrent(NUM_IO_THREADS, new RoundTripFactory()).join(); } catch (final InterruptedException ex2) { ex = ex2;
private void assertMultithreadedSingleArchiveMultipleEntriesReading( final int nEntries, final int nThreads) throws Exception { // Create test archive file. createTestArchive(nEntries); class CheckAllEntries implements Callable<Void> { @Override public Void call() throws IOException { assertArchiveEntries(archive, nEntries); return null; } } // CheckAllEntries class CheckAllEntriesFactory implements TaskFactory { @Override public Callable<?> newTask(int threadNum) { return new CheckAllEntries(); } } // CheckAllEntriesFactory try { runConcurrent(nThreads, new CheckAllEntriesFactory()).join(); } finally { TFile.rm_r(archive); } }
runConcurrent(NUM_IO_THREADS, new WriteFactory()).join();
@Test public final void testGetThreadLocalCalendar() throws Exception { final GregorianCalendar ref = instance.getThreadLocalCalendar(); ConcurrencyUtils.runConcurrent(2, new TaskFactory() { @Override public Callable<?> newTask(int threadNum) { return new Callable<Void>() { @Override public Void call() { assertThat(instance.getThreadLocalCalendar(), is(not(sameInstance(ref)))); return null; } }; } }).join(); assertThat(instance.getThreadLocalCalendar(), is(sameInstance(ref))); }
private void assertMultithreadedSingleArchiveMultipleEntriesReading( final int nEntries, final int nThreads) throws Exception { // Create test archive file. createTestArchive(nEntries); class CheckAllEntries implements Callable<Void> { @Override public Void call() throws IOException { assertArchiveEntries(archive, nEntries); return null; } } // CheckAllEntries class CheckAllEntriesFactory implements TaskFactory { @Override public Callable<?> newTask(int threadNum) { return new CheckAllEntries(); } } // CheckAllEntriesFactory try { runConcurrent(nThreads, new CheckAllEntriesFactory()).join(); } finally { archive.toFile().rm_r(); } }
runConcurrent(NUM_IO_THREADS, new WriteFactory()).join();
runConcurrent(nThreads, new CheckAllEntriesFactory()).join(); } finally { zin.close();
try { try { final TaskJoiner join = runConcurrent(NUM_IO_THREADS, new CopyFactory(src, dst)); try { runConcurrent(NUM_IO_THREADS, new CopyFactory(dst, src)).join(); } finally {
runConcurrent(NUM_IO_THREADS, new WriteFactory()).join(); } finally { assertArchiveEntries(archive, NUM_IO_THREADS);
runConcurrent(NUM_IO_THREADS, new WriteFactory()).join(); } finally { assertArchiveEntries(archive, NUM_IO_THREADS);
try { try { final TaskJoiner join = runConcurrent(NUM_IO_THREADS, new CopyFactory(src, dst)); try { runConcurrent(NUM_IO_THREADS, new CopyFactory(dst, src)).join(); } finally {