본문 바로가기

자바33

자바 newCachedThreadPool , newFixedThreadPool newCachedThreadPool : 초기 스레드 0, 코어 스레드 0, 최대 스레드 int 최대 값.(OS 성능과 상황에 따라 달라짐.) 스레드 개수보다 작업 개수가 많으면 새 스레드를 생성한다. 스레드가 60초간 작업을 하지 않으면 스레드를 종료하고 풀에서 제거. newFixedThreadPool(int nThreads) : 초기 스레드 0, 코어 스레드, 최대 스레드는 매개변수에 따라 달라진다. 스레드가 놀고 있더라도 제거하지 않는다. 프로세서 수 체크. System.out.println(Runtime.getRuntime().availableProcessors()); 스레드 풀의 스레드는 main이 종료되더라도 작업을 처리하기 위해 남아있음. 프로그램 종료할 때, 스레드들을 종료하게 처리.(로그나.. 2020. 11. 3.
자바 ExecutorService2 package main.java.com; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; public class ExecutorServiceMain2 { public static void main(String[] args) throws ExecutionException, InterruptedException { System.out.println("start"); //쓰레드 픽스. ExecutorService executorService = Executors.. 2020. 11. 3.
자바 ExecutorService 결과값이 없는 비동기. C#으로 치면 Action인듯. package main.java.com; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ExecutorServiceMain { public static void main(String[] args) { System.out.println("start"); ExecutorService executorService = Executors.newCachedThreadPool(); executorService.execute(() -> { try{ Thread.sleep(10); System.out.println("result2"); } .. 2020. 11. 3.
자바 쓰레드 Future 자바 JDK 1.5?에서 나왔다고 하는 쓰레드. 닷넷에 백그라운드 워커랑 비슷한 개념같다. 아마 비슷한 시기에 나와서 그런듯함. package main.java.com; import java.util.concurrent.*; public class FutureMain { public static void main(String[] args) throws InterruptedException, ExecutionException, TimeoutException { System.out.println("start"); ExecutorService executorService = Executors.newCachedThreadPool(); Future future = executorService.submit(new .. 2020. 11. 3.