An attempt to implements j.u.c whereby other alogrithms
- JDK 6 +
git clone https://github.com/coderplay/concurrent.git
mvn clean package
finalintBUFFER_SIZE = 1024 * 8;
finallongITERATIONS = 1000L * 1000L * 10L;
finalBlockingQueue<Long> queue =
newFastArrayBlockingQueue<Long>(
// producer strategy newSingleThreadedClaimStrategy(BUFFER_SIZE),
// consumer strategynewSingleThreadedWaitStrategy()); Runnableconsumer = newRunnable() {
@Overridepublicvoidrun() {
try {
for (longl = 0; l < ITERATIONS; l++)
queue.take().longValue();
} catch (InterruptedExceptionie) {
}
}
};
Runnableproducer = newRunnable() {
@Overridepublicvoidrun() {
try {
for (longl = 0; l < ITERATIONS; l++)
queue.put(Long.valueOf(l));
} catch (InterruptedExceptionie) {
}
}
};
newThread(consumer).start();
newThread(producer).start();