457 availableWorkerThreads++; |
457 availableWorkerThreads++; |
458 } |
458 } |
459 } |
459 } |
460 |
460 |
461 |
461 |
462 private class WorkerThread extends sun.misc.ManagedLocalsThread implements Closeable |
462 private class WorkerThread extends Thread implements Closeable |
463 { |
463 { |
464 private Work currentWork; |
464 private Work currentWork; |
465 private int threadId = 0; // unique id for the thread |
465 private int threadId = 0; // unique id for the thread |
466 private volatile boolean closeCalled = false; |
466 private volatile boolean closeCalled = false; |
467 private String threadPoolName; |
467 private String threadPoolName; |
468 // name seen by Thread.getName() |
468 // name seen by Thread.getName() |
469 private StringBuffer workerThreadName = new StringBuffer(); |
469 private StringBuffer workerThreadName = new StringBuffer(); |
470 |
470 |
471 WorkerThread(ThreadGroup tg, String threadPoolName) { |
471 WorkerThread(ThreadGroup tg, String threadPoolName) { |
472 super(tg, "Idle"); |
472 super(tg, null, "Idle", 0, false); |
473 this.threadId = ThreadPoolImpl.getUniqueThreadId(); |
473 this.threadId = ThreadPoolImpl.getUniqueThreadId(); |
474 this.threadPoolName = threadPoolName; |
474 this.threadPoolName = threadPoolName; |
475 setName(composeWorkerThreadName(threadPoolName, "Idle")); |
475 setName(composeWorkerThreadName(threadPoolName, "Idle")); |
476 } |
476 } |
477 |
477 |