public synchronized void start(Object chanMgrId) {
		name = ""+chanMgrId;
        threadFactory = new MyThreadFactory(name, isDaemon);
        ArrayBlockingQueue<Runnable> queue = new ArrayBlockingQueue<Runnable>(queueSize);
        BlockingQueue<Runnable> blockingQueue = new MyBlockingQueue<Runnable>(queue);
        ThreadPoolExecutor svc = new ThreadPoolExecutor(maximumPoolSize, maximumPoolSize,
        		keepAliveTime , TimeUnit.MILLISECONDS, blockingQueue, threadFactory);
		realSvc = svc;
		isRunning = true;
	}