1 package com.protomatter.util; 2 3 52 53 import com.protomatter.syslog.Syslog; 54 55 62 class WorkQueueThread 63 extends Thread 64 { 65 private WorkQueue queue = null; 66 private int id = 0; 67 68 73 public WorkQueueThread(WorkQueue queue, ThreadGroup group, int qId, String name, int id) 74 { 75 super(group, "WorkQueueThread[q="+qId+", qName="+name+", id="+id+"]"); 76 this.queue = queue; 77 this.id = id; 78 this.setDaemon(true); 79 } 80 81 85 public void run() 86 { 87 WorkQueue q = queue; int i=0; 89 while (true) 90 { 91 try 92 { 93 Runnable r = q.getWork(); 95 if (r != null) 96 { 97 r.run(); 98 } 99 else 100 { 101 Thread.yield(); 103 } 104 } 105 catch (Throwable t) 106 { 107 Syslog.log(this, t); 109 } 110 } 111 } 112 } 113 | Popular Tags |