public SharpenThread NewThread (Runnable r)
 {
     SharpenThread t = new SharpenThread (r);
     t.SetDaemon (true);
     t.Start ();
     return t;
 }
Example #2
0
        public SharpenThread NewThread(Runnable r)
        {
            SharpenThread t = new SharpenThread(r);

            t.SetDaemon(true);
            t.Start();
            return(t);
        }
 public void Run()
 {
     lock (this) {
         thread = SharpenThread.CurrentThread();
     }
     try {
         if (!canceled)
         {
             Action.Run();
         }
     } finally {
         lock (this) {
             thread = null;
             doneEvent.Set();
             completed = true;
         }
     }
 }
 public bool Cancel(bool mayInterruptIfRunning)
 {
     lock (this) {
         if (canceled || completed)
         {
             return(false);
         }
         canceled = completed = true;
         if (mayInterruptIfRunning && thread != null)
         {
             try {
                 thread.Abort();
             } catch {}
             thread = null;
         }
         doneEvent.Set();
         return(true);
     }
 }
 public int Enumerate (SharpenThread[] array)
 {
     lock (threads) {
         int count = Math.Min (array.Length, threads.Count);
         threads.CopyTo (0, array, 0, count);
         return count;
     }
 }
 internal void Remove (SharpenThread t)
 {
     lock (threads) {
         threads.Remove (t);
     }
 }
 internal void Add (SharpenThread t)
 {
     lock (threads) {
         threads.Add (t);
     }
 }
 internal void Remove(SharpenThread t)
 {
     lock (threads) {
         threads.Remove(t);
     }
 }
 internal void Add(SharpenThread t)
 {
     lock (threads) {
         threads.Add(t);
     }
 }