samples/deadlock/test/org/apidesign/deadlock/ExecutorServiceTest.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 09:54:28 +0200
changeset 104 0ec9eb8bcd03
permissions -rw-r--r--
Onward! Towards deadlock tests.
     1 package org.apidesign.deadlock;
     2 
     3 import java.util.concurrent.ExecutorService;
     4 import java.util.concurrent.Executors;
     5 import java.util.concurrent.Future;
     6 import java.util.concurrent.TimeUnit;
     7 import org.junit.Assert;
     8 import org.junit.Test;
     9 
    10 public class ExecutorServiceTest implements Runnable {
    11     private int cnt;
    12     
    13     @Test
    14     public void showUsageOfExecutionService() throws Exception {
    15         Runnable someRunnable = this;
    16         
    17         // BEGIN: deadlock.service
    18         ExecutorService service = Executors.newSingleThreadExecutor();
    19 
    20         // scheduling is quite different
    21         Future<?> task = service.submit(someRunnable);
    22 
    23         // compared to waiting
    24         task.get(1000, TimeUnit.MILLISECONDS);
    25         // END: deadlock.service
    26         
    27         Assert.assertEquals("Cnt executed", 1, cnt);
    28     }
    29 
    30     public void run() {
    31         cnt++;
    32     }
    33 
    34 }