JAvaマルチスレッドCallableにパラメータを渡す
1999 ワード
Callableインタフェースを実装することにより,マルチスレッドプログラムを実装したところ,callメソッドは@Overrideのメソッド上で直接パラメータを渡すことができず,ネットワーク上で解決策を見つけ,メソッド伝達パラメータを構築することによってコードを置くことができなかった.
private int taskNum;
private String ip;
private int port;
public VerifyProxy(int taskNum, String ip, int port) {
this.taskNum = taskNum;
this.ip=ip;
this.port=port;
}
/**
* ip
* @return
* @throws Exception
*/
@Override
public Object call() throws Exception {
try {
System.out.println(ip+port);
Jsoup.connect("https://www.baidu.com")
.timeout(10 * 1000)
.proxy(ip, port)
.get();
logger.info(" {}{}",ip,port);
return taskNum +"true" ;
} catch (Exception e) {
logger.info(" {}{}",ip,port);
return taskNum+"false";
}
}