Package org.jmock.lib.concurrent
Class Blitzer
- java.lang.Object
-
- org.jmock.lib.concurrent.Blitzer
-
public class Blitzer extends java.lang.ObjectA class that "blitzes" an object by calling it many times, from multiple threads. Used for stress-testing synchronisation.
-
-
Field Summary
Fields Modifier and Type Field Description private intactionCountstatic intDEFAULT_THREAD_COUNTThe default number of threads to run concurrently.private java.util.concurrent.ExecutorServiceexecutorService
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidblitz(long timeoutMs, java.lang.Runnable action)voidblitz(java.lang.Runnable action)voidshutdown()private java.util.concurrent.CountDownLatchspawnThreads(java.lang.Runnable action)inttotalActionCount()
-
-
-
Field Detail
-
DEFAULT_THREAD_COUNT
public static final int DEFAULT_THREAD_COUNT
The default number of threads to run concurrently.- See Also:
- Constant Field Values
-
executorService
private final java.util.concurrent.ExecutorService executorService
-
actionCount
private final int actionCount
-
-
Constructor Detail
-
Blitzer
public Blitzer(int actionCount)
-
Blitzer
public Blitzer(int actionCount, int threadCount)
-
Blitzer
public Blitzer(int actionCount, int threadCount, java.util.concurrent.ThreadFactory threadFactory)
-
Blitzer
public Blitzer(int actionCount, java.util.concurrent.ExecutorService executorService)
-
-
Method Detail
-
totalActionCount
public int totalActionCount()
-
blitz
public void blitz(java.lang.Runnable action) throws java.lang.InterruptedException- Throws:
java.lang.InterruptedException
-
blitz
public void blitz(long timeoutMs, java.lang.Runnable action) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException- Throws:
java.lang.InterruptedExceptionjava.util.concurrent.TimeoutException
-
spawnThreads
private java.util.concurrent.CountDownLatch spawnThreads(java.lang.Runnable action)
-
shutdown
public void shutdown()
-
-