public List<Object> join(){
		synchronized (lock) {
			while(lock.thread_count > 0){//߳Ϊ0ʾ
//				System.out.println("threadCount: "+THREAD_COUNT);
				try {
					lock.wait();//ûȫɣ𡣵ȴɵ֪ͨ
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
		}
		List<Object> list = new ArrayList<Object>();
		//ȡÿĴܺ󷵻
		for (Future<Object> future : futres) {
			try {
				Object result = future.get();//ΪѾɣֱget
				if(result != null){
					if(result instanceof List)
						list.addAll((List)result);
					else
						list.add(result);
				}
			} catch (Exception e) {
				e.printStackTrace();
			} 
		}
		return list;
	}