Home | History | Annotate | Download | only in src
      1 // Copyright 2006 The Android Open Source Project
      2 
      3 /**
      4  * Test some basic thread stuff.
      5  */
      6 public class Main {
      7     public static void main(String[] args) {
      8         for (int i = 0; i < 512; i++) {
      9             MyThread myThread = new MyThread();
     10             myThread.start();
     11             try {
     12                 Thread.sleep(1);
     13             } catch (InterruptedException ie) {
     14                 ie.printStackTrace();
     15             }
     16         }
     17 
     18         go();
     19         System.out.println("thread test done");
     20     }
     21 
     22     public static void go() {
     23         Thread t = new Thread(null, new ThreadTestSub(), "Thready", 7168);
     24 
     25         t.setDaemon(false);
     26 
     27         System.out.print("Starting thread '" + t.getName() + "'\n");
     28         t.start();
     29 
     30         try {
     31             t.join();
     32         } catch (InterruptedException ex) {
     33             ex.printStackTrace();
     34         }
     35 
     36         System.out.print("Thread starter returning\n");
     37     }
     38 
     39     /*
     40      * Simple thread capacity test.
     41      */
     42     static class MyThread extends Thread {
     43         private static int mCount = 0;
     44         public void run() {
     45             System.out.println("running " + (mCount++));
     46         }
     47     }
     48 }
     49 
     50 class ThreadTestSub implements Runnable {
     51     public void run() {
     52         System.out.print("@ Thread running\n");
     53 
     54         try {
     55             Thread.currentThread().setDaemon(true);
     56             System.out.print("@ FAILED: setDaemon() succeeded\n");
     57         } catch (IllegalThreadStateException itse) {
     58             System.out.print("@ Got expected setDaemon exception\n");
     59         }
     60 
     61         //if (true)
     62         //    throw new NullPointerException();
     63         try {
     64             Thread.sleep(2000);
     65         }
     66         catch (InterruptedException ie) {
     67             System.out.print("@ Interrupted!\n");
     68         }
     69         finally {
     70             System.out.print("@ Thread bailing\n");
     71         }
     72     }
     73 }
     74 
     75