Runnable
-
Java - LambdaJava 2018. 2. 7. 12:38
// 일반적인 익명 객체 실행 public class Main { public static void main(String[] args) { // 일반적인 익명 객체 실행 Runnable task1 = new Runnable() { @Override public void run() { for(int i=1;i 반환값이 있어야 스레드를 낚아챌수 있다. } } // 람다 익명 객체 실행 public class Main { public static void main(String[] args) { // 람다식 익명 객체 // 무조건 1개의 인터페이스, 1개의 메서드만 구현 가능하다. Runnable task1 = () -> { for(int i=1;i 반환값이 있어야 스레드를 낚아챌수 있다. } } public ..
-
Java - Thread Pool, Thread Pool BlockingJava 2018. 1. 31. 14:51
// Thread pool은 대여소 같은 역할을 수행 한다.// 대여할 Thread가 없다면 대기해야 한다.// Thread pool은 ExecutorService 객체를 통해 생성 된다.// 생성시에는 초기/코어/최대 스레드 수를 명시해 준다. // 코어 스레드 수 - 최소한으로 유지되어야 하는 수 // 동시 수행 - 실시간(Real Time), 병렬 처리// 프로그램상 스레드는 실제 스레드에서 남는 부분에서 수행한다.// 그래서 여러 스레드를 만들 수 있다. // Thread Pool의 작업은 Runnable과 Callable로 생성 한다.// 두 방법의 차이는 return 값의 유무 이다.// Runnable은 return값이 없고 Callable은 있다. // 생성된 ..
-
Java - ThreadJava 2018. 1. 30. 14:57
// Thread는 어떤 program을 실행 하게 해주는 원동력이다// 대표적으로 main(String[] args)로 실행 한다. // process는 1개 이상의 thread로 구성되어 있다.// process는 thread로 구성 된다.// 메모리 공유 부분에서 process는 메모리 공유가 안되지만,// Thread는 메모리 공유가 된다. // main method는 main thread를 생성 한다.// 처리가 버거우면 work thread를 생성할 수 있다.// 이것을 multi thread라 한다. // Runnable Interface, Thread Class 상속으로 생성할 수 있다. public class Main { public static void main(..