実行完了後に再度タスクを実行するためにJavaのスレッドプール

最近のクローラは、スレッドプールを使用しています(私は、スレッドプール内のスレッドの固定数を作成することでした、その後、内部の仕事をスローし続けます)

サイトは今、私はスレッドプールのタスクで考えるので、もう一度リンクをクロール開始後に登るためのタスクをリンクするために必要な場合に再起動されたタスクを完了するために実行されています。

次のようにデモは次のとおりです。

public static void ex(Connection conn) throws InterruptedException{
		UrlTask urlTask = new UrlTask(7, conn);	// 自己的任务类
		ExecutorService pool = Executors.newFixedThreadPool(50);// 创建一个固定数量的线程池
		pool.execute(urlTask);
		pool.shutdown();
		boolean flag = pool.awaitTermination(1, TimeUnit.MINUTES); // 1分钟检测一次线程池中的任务是否执行完成
		if (!flag) {
			ex(conn);//线程次中的任务执行完成后再次执行
		}
	}


公開された90元の記事 ウォン称賛21 ビュー470 000 +

おすすめ

転載: blog.csdn.net/yx13649017813/article/details/47144643