Executor Executor - 자바에서 제공하는 스레드 관련 프레임워크 1. 스레드에서 실행되기를 기다리는 태스크 수를 제어하는 작업자 스레드풀과 큐를 설정 2. 완료되는 스레드를 기다리고 결과를 가져온다 (1) 스레드 풀 기능 newFixedThreadPool(n), newCachedThreadPool, newSingleThreadExecutor var executor = ThreadPoolExecutor(풀크기,생존유지기간,큐유형); 스레드 풀크기 -> cpu갯수기준이좋다 ->동시에 실행될수있는 최대의 테스크 갯수 (2) 스레드풀 중단 shutdown: 새작업을 거부하며 대기중인 테스크는 처리 shutdownnow: 당장 스레드풀중단 (3) callable 인터페이스 : 테스크결과를 가져오고 테스크를 관리한다 .. 더보기 핸들러 스레드(handlerthread) 핸들러 스레드(handlerthread) - 순차실행이 가능한 백그라운드 스레드로 전달되는 메세지의 가장 기본적인 형태 HandlerThread ht = new HanderThread(“~”); th.start(); mHandler = new Handler(ht.getLooper()){ @override public void handleMessage(Message msg){ } } 더보기 메모리 누수 방지 방법 메모리 누수 방지 방법1. 정적 내부 클래스 사용 - 외부클래스의 정적 멤버가 아닌 멤버에 접근 못한다. 외부 객체가 아닌 외부 클래스의 참조만을 유지한다. 2. 약한 참조를 사용한다. GC가 이 객체를 가비지 컬렉션 대상으로 본다. 3. 작업자 스레드를 중지한다. 4. 메세지 큐를 정리한다. -> 메세지큐에 대기될 경우 큐에서 제거한다. 더보기 이전 1 ··· 7 8 9 10 11 12 13 ··· 274 다음