獲得線程的返回值

<!-- lang: java -->
ExecutorService excu=Executors.newCachedThreadPool();
	 ArrayList<Future<Boolean>> resourt=new ArrayList<Future<Boolean>>();
	for (WxUser wxUser : sets) {
		resourt.add(excu.submit(new SendMasage(request,content,wxUser.getFakeId())));
	}
	for (Future<Boolean> future : resourt) {
		try {
			System.out.println(future.get());
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ExecutionException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			excu.shutdown();
		}
	}


<!-- lang: java -->

import java.util.concurrent.Callable; import javax.servlet.http.HttpServletRequest; import com.qunfa.common.WxService; public class SendMasage implements Callable<Boolean> { HttpServletRequest request; String str; String wxId; public SendMasage(HttpServletRequest request, String str, String wxId) { this.request=request; this.str=str; this.wxId=wxId; } WxService wx=new WxService(); public Boolean call() throws Exception { return wx.sendMessageById(str, wxId, request); //能夠返回的方法 }java

相關文章
相關標籤/搜索