new Fixed ThreadPool 기반 다 중 스 레 드 사례 구현
package com.hao.thread;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class ThreadTest {
public static void main(String[] args) {
long start = System.currentTimeMillis();
System.out.println(action());
long end = System.currentTimeMillis();
System.out.println(end - start);
}
public static List<String> action() {
List<String> list = new ArrayList<String>();
ExecutorService pool = Executors.newFixedThreadPool(3);
Future<String> submit1 = pool.submit(() -> action1("action1"));
Future<String> submit2 = pool.submit(() -> action2("action2"));
Future<String> submit3 = pool.submit(() -> action3("action3"));
try {
list.add(submit1.get());
list.add(submit2.get());
list.add(submit3.get());
} catch (Exception e) {
e.printStackTrace();
} finally {
pool.shutdown();
}
return list;
}
private static String action1(String action1) {
sleep(5000);
return action1 + " # " + Thread.currentThread().getName();
}
private static String action2(String action2) {
sleep(5000);
return action2 + " # " + Thread.currentThread().getName();
}
private static String action3(String action3) {
sleep(5000);
return action3 + " # " + Thread.currentThread().getName();
}
private static void sleep(long millis) {
try {
Thread.sleep(millis);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
2.처리 결과이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
No.12 객체를 생성하는 방법(class, function, new, this)📝 Classes Class는 객체를 생성하기 위한 템플릿입니다. 한마디로 class는 객체를 여러개 생성하기 위한 하나의 템플릿이라고 생각하면 되고, es6 이전에는 function을 이용해 비슷하게 만들었다고한다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.