JAVA线程池之ExecutorService Future Callable Submit简单应用
2017-08-08 14:20
489 查看
import org.junit.Test;
import java.util.*;
import java.util.concurrent.*;
/**
* MainTest
* Created by Joker on 2017/8/8.
*/
public class MainTest {
private ExecutorService pool = Executors.newCachedThreadPool();
@Test
public void test() {
Set<Future<Object>> tasks = new HashSet<>();
tasks.add(pool.submit(() -> {
for (int i = 0; i <= 5; i++) {
System.out.println("[A]--->" + i);
Thread.sleep(1000);
}
return "A is over";
}));
System.out.println("<------------------>");
tasks.add(pool.submit(() -> {
for (int i = 0; i <= 5; i++) {
System.out.println("[B]--->" + i);
Thread.sleep(1000);
}
return "B is over";
}));
System.out.println("<------------------>");
tasks.forEach(task -> {
try {
System.out.println(task.get());
} catch (Exception e) {
e.printStackTrace();
}
});
}
}
import java.util.*;
import java.util.concurrent.*;
/**
* MainTest
* Created by Joker on 2017/8/8.
*/
public class MainTest {
private ExecutorService pool = Executors.newCachedThreadPool();
@Test
public void test() {
Set<Future<Object>> tasks = new HashSet<>();
tasks.add(pool.submit(() -> {
for (int i = 0; i <= 5; i++) {
System.out.println("[A]--->" + i);
Thread.sleep(1000);
}
return "A is over";
}));
System.out.println("<------------------>");
tasks.add(pool.submit(() -> {
for (int i = 0; i <= 5; i++) {
System.out.println("[B]--->" + i);
Thread.sleep(1000);
}
return "B is over";
}));
System.out.println("<------------------>");
tasks.forEach(task -> {
try {
System.out.println(task.get());
} catch (Exception e) {
e.printStackTrace();
}
});
}
}
相关文章推荐
- java利用线程池(ExecutorService)配合Callable和Future实现执行方法超时的阻断
- JAVA并行编程,线程池+FutureTask+callable+ExecutorService
- 安卓中运用 JAVA并行异步编程,线程池+FutureTask+callable+ExecutorService
- JAVA并行异步编程,线程池+FutureTask+callable+ExecutorService
- java.util.concurrent.Callable, Runnable, Future,ExecutorService介绍
- java的线程池ExecutorService简单介绍
- 多线程并发库高级应用 之 java5中的线程并发库--线程池、Callable&Future
- 多线程并发库高级应用 之 java5中的线程并发库--线程池、Callable&Future
- java ExecutorService 线程池Callable 和 Future接口
- 使用ExecutorService、Callable、Future实现有返回结果的多线程 应用实例
- Java多线程:Callable、ExecutorService、CountDownLatch、Future和FutureTask
- Android(java)的线程池:ExecutorService和Executors简单介绍
- ExecutorService——<T> Future<T> submit(Callable<T> task)
- Java 的线程池 ExecutorService 简单介绍
- 多线程并发库高级应用 之 java5中的线程并发库--线程池、Callable&Future
- Java并发编程之Future,ExecutorService,Callable讲解实例
- Java并发编程 - Executor,Executors,ExecutorService, CompletionServie,Future,Callable
- JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没
- Android(java)的线程池:ExecutorService和Executors简单介绍
- Java多线程之Executor、ExecutorService、Executors、Callable、Future与FutureTask