f329774e0ff49a82a538b3ca2bcc7e9aad10a85b
[IRC.git] / Robust / src / ClassLibrary / MGC / Thread.java
1 public class Thread implements Runnable {
2   private boolean finished;
3   Runnable target;
4   
5   public Thread(){
6     finished = false;
7     target = null;
8   }
9   
10   public Thread(Runnable r) {
11     finished = false;
12     target = r;
13   }
14
15   public void start() {
16     nativeCreate();
17   }
18
19   private static void staticStart(Thread t) {
20     t.run();
21     t.finished = true;
22   }
23
24   public static native void yield();
25
26   public void join() {
27     nativeJoin();
28   }
29
30   private native void nativeJoin();
31
32   public native static void sleep(long millis);
33
34   public void run() {
35     if(target != null) {
36       target.run();
37     }
38     this.finished = true;
39   }
40
41   private native void nativeCreate();
42   
43   public final boolean isAlive() {
44     return !this.finished;
45   }
46
47 }