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";
        }
    }