나는 Executor
인터페이스를 사용하는 것이 명시 적으로 스레드를 만드는 것보다 더 나은 프로그래밍 습관이라고 읽었습니다. 제 생각에는 내 스레드를 만들고 Thread
생성자 인수로 초기화하는 것이 훨씬 쉽습니다. 지금까지 그렇게 해왔 던 방식으로 스레드를 만드는 것보다 Executor
을 사용하면 어떤 이점이 있습니까?명시 적으로 스레드를 생성하는 대신 Executor 인터페이스 사용
2
A
답변
2
스레드를 생성하는 것은 값 비싼 연산이므로 스레드를 스레드 풀로 반환하는 것이 좋습니다. 이것은 특히 각 클라이언트 요청마다 스레드가 할당 된 서버에서 필요합니다.
필요할 때마다 스레드를 다시 생성하면서 초당 요청이 수백 번 발생하면 성능에 많은 영향을 미칩니다.
그래서 작은 스레드가 필요할 경우 Executor없이 만들 수 있습니다. 응용 프로그램에서 많은 스레드를 만들 가능성이 높으면 Executor를 사용하십시오.
+0
감사합니다. 그것은 도움이되었습니다. –
0
장점은 스레드가 매번 생성하는 대신 풀에서 사용된다는 것입니다. 오라클 당으로
는 concurrency tutorial집행 인은 실행 스레드를 관리하기위한 높은 수준의 API를 정의합니다. 병렬로 실행되는 스레드 : java.util.concurrent의에 의해 제공 집행자 구현은 당신이 얻을 전부 명시 적
Thread
객체와
1
대규모 애플리케이션을위한 스레드 풀 관리에 적합 제공합니다. ExecutorService
을 사용하면 다음을 얻을 수 있습니다.
- 작업 실행간에 재활용되는 스레드 풀.
- 스레드가 새 작업을 자동으로 확인하는 스레드 안전 차단 작업 대기열입니다.
- 암시 적로드 균형 조정.
- 암시 적 효율성. 스레드 생성 오버 헤드가 발생하지 않기 때문입니다.
ExecutorService
은 생산자 - 소비자 패러다임의 쉬운 구현을 허용합니다.
관련 문제
- 1. 명시 적으로 스레드를 완료하여
- 2. 명시 적으로 인터페이스 정의
- 3. 만료 된 스레드를 명시 적으로 종료해야합니까?
- 4. 명시 적으로 파이썬 스레드를 결합 하시겠습니까?
- 5. 사용 "네임 스페이스 foo는 {"대신 명시 적으로 기능이 같은 선언
- 6. 명시 적 인터페이스 구현 사용
- 7. 인터페이스 멤버를 명시 적으로 또는 암시 적으로 구현해야합니까?
- 8. Request.Form을 명시 적으로 수행하는 대신 Request.Params를 사용해야합니까?
- 9. 명시 적으로 소멸자를 호출해야합니다.
- 10. Win32 응용 프로그램을 종료하기 전에 모든 스레드를 명시 적으로 중지해야합니까?
- 11. 성능 향상을 위해 BlockingQueue.take()에서 스레드를 명시 적으로 깨워 야합니까?
- 12. System.IO를 가져 오는 대신 명시 적으로 사용하면 성능상의 이점이 있습니까?
- 13. AppEngine '명시 적으로 취소됨'오류
- 14. 명시 적으로 구현 된 인터페이스 및 제네릭 제약
- 15. 파생 클래스에서 명시 적으로 구현 된 인터페이스 메서드를 재정의하십시오.
- 16. 명시 적으로 모든 종속성을 명시 적으로 참조하지 않고 계단식 삭제
- 17. 서버 소켓 클라이언트 용 새 스레드 대신 Executor 사용
- 18. openmp로 스레드를 생성하는 방법
- 19. C++ 명시 적으로 생성자와
- 20. DatabaseInitializer를 명시 적으로 호출
- 21. 명시 적으로 서비스 중지
- 22. 바인딩 모델을 명시 적으로
- 23. 트리거를 명시 적으로 호출하십시오.
- 24. 명시 적으로 SVN
- 25. 명시 적으로 항목을 구조체에 저장합니다.
- 26. setResult를 RESULT_CANCELED로 명시 적으로 설정해야합니까?
- 27. ARC를 명시 적으로 활성화하는 Pragma?
- 28. form_rest (form) 대신 CSRF 토큰 필드를 명시 적으로 인쇄 하시겠습니까?
- 29. 명시 적으로 대신 물음표, 스타의 반복 번호를 사용하고 플러스
- 30. 메서드의 docstring을 명시 적으로 설정합니다.
관심이 있으시면 (관심이 있다면) - 물어보기 전에 Google을 사용해 보셨습니까? –
Google에서 검색했지만 큰 자습서 만 나타났습니다. 시간을 허 튼게해서 미안해. –