/** Create missing threads. * * @param toOpen Total number of threads we'll have open */ protected void openThreads(int toOpen) { if(toOpen > maxThreads) { toOpen = maxThreads; } for(int i = currentThreadCount ; i < toOpen ; i++) { pool[i - currentThreadsBusy] = new ControlRunnable(this); } currentThreadCount = toOpen; }