1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/samples/deadlock/test/org/apidesign/deadlock/ExecutorServiceTest.java Sat Jun 14 09:54:28 2008 +0200
1.3 @@ -0,0 +1,34 @@
1.4 +package org.apidesign.deadlock;
1.5 +
1.6 +import java.util.concurrent.ExecutorService;
1.7 +import java.util.concurrent.Executors;
1.8 +import java.util.concurrent.Future;
1.9 +import java.util.concurrent.TimeUnit;
1.10 +import org.junit.Assert;
1.11 +import org.junit.Test;
1.12 +
1.13 +public class ExecutorServiceTest implements Runnable {
1.14 + private int cnt;
1.15 +
1.16 + @Test
1.17 + public void showUsageOfExecutionService() throws Exception {
1.18 + Runnable someRunnable = this;
1.19 +
1.20 + // BEGIN: deadlock.service
1.21 + ExecutorService service = Executors.newSingleThreadExecutor();
1.22 +
1.23 + // scheduling is quite different
1.24 + Future<?> task = service.submit(someRunnable);
1.25 +
1.26 + // compared to waiting
1.27 + task.get(1000, TimeUnit.MILLISECONDS);
1.28 + // END: deadlock.service
1.29 +
1.30 + Assert.assertEquals("Cnt executed", 1, cnt);
1.31 + }
1.32 +
1.33 + public void run() {
1.34 + cnt++;
1.35 + }
1.36 +
1.37 +}