public void update(Observable o, Object arg) {
		logger.debug("-----线程调度器正在为任务分配线程-----");
		@SuppressWarnings("unchecked")
		Map<String, Object> params = (Map<String, Object>)arg;
		ITaskObject pTask = (ITaskObject)params.get("task");
		String typeId = pTask.getTypeId();
		if (typeId==null || "".equals(typeId)) {
			logger.debug("无法从任务对象中（ITaskObjcet）获取任务类型ID，此任务将被加入default队列。");
			typeId = "default";
			pTask.setTypeId(typeId);
		}else{
			TaskInfoStorage taskInfo = taskInfoStorageMap.get(typeId);
			if (taskInfo==null) {
				logger.debug("创建新的任务信息缓存");
				taskInfo = new TaskInfoStorage();
				taskInfoStorageMap.put(typeId, taskInfo);
			}
			logger.info("将任务放入任务信息队列。");
			taskInfo.SWAP_QUEUE.push(pTask);
			TaskWorkerStorage taskWorker = taskWorkerStorageMap.get(typeId);
			if (taskWorker==null) {
				logger.debug("创建新的任务工作缓存");
				taskWorker = new TaskWorkerStorage();
				taskWorkerStorageMap.put(typeId, taskWorker);
			}
			
			QueueThreadPoolExcutor qtpe = threadPoolMap.get(typeId);
			if (qtpe == null) {
				logger.debug("创建新的任务执行环境");
				qtpe = new QueueThreadPoolExcutor(Config.THREAD_WORKER, Config.THREAD_WORKER, 0L, TimeUnit.SECONDS, taskWorker.threadCache);
				qtpe.setTypeId(typeId);
				qtpe.setCreateTime(new Date());
				qtpe.setUpdateTime(new Date());
				threadPoolMap.put(typeId, qtpe);
			}
			
			PolicyWorkerDispatcher policyWorkerDp = policyWorkerDispatcherMap.get(typeId);
			if (policyWorkerDp == null) {
				logger.debug("创建新的任务策略调度器");
				policyWorkerDp = new PolicyWorkerDispatcher();
				policyWorkerDp.setTypeId(typeId);
				policyWorkerDispatcherMap.put(typeId, policyWorkerDp);
				this.addObserver(policyWorkerDp);
			}
			
			TaskWorkerDispatcher taskWorkerDispatcher = taskWorkerDispatcherMap.get(typeId);
			if (taskWorkerDispatcher==null) {
				logger.debug("创建任务执行调度器");
				taskWorkerDispatcher = new TaskWorkerDispatcher();
				taskWorkerDispatcher.setTypeId(typeId);
				taskWorkerDispatcherMap.put(typeId, taskWorkerDispatcher);
			}
			taskInfo.addObserver(policyWorkerDp);
			taskInfo.addObserver(taskWorkerDispatcher);
			policyWorkerDp.addObserver(taskWorkerDispatcher);
		}
		sendTask(pTask.getExcutor());
	}