본문 바로가기
[Effective Java] 스레드 스케쥴러에 의존하지 말자 [Effective Java] 스레드 스케쥴러에 의존하지 말자 - 많은 스레드가 runnable 상태일 때는 어떤 스레드를 실행시킬 것인지, 그리고 얼마 동안 실행시킬 것인지를 스레드 스케쥴러가 결정한다. 운영체제에서는 공정하게 그런 결정을 내리려고 하겠지만, 그 정책은 서로 다를 수 있다. 따라서 잘 작성한 프로그램은 그런 정책의 상세한 내용에 매달려서는 안 된다. 정확성이나 성능을 스레드 스케줄러에 의존하는 프로그램이라면 그 어떤 것도 이식성이 없어질 가능성이 크다. - 강력하고, 응답성이 좋고, 이식성이 있는 프로그램을 작성하는 가장 좋은 방법은, runnable 상태의 평균 스레드 개수가 프로세서의 개수보다 그리 크지 않게 하는 것이다. 이렇게 하면 스레드 스케줄러는 선택의 여지 없이 runnab.. 2017. 3. 17.
[Java] Thread 의 상태에 대한 이야기 자바, Thread 의 상태에 대한 이야기 Thread 는 진행상태에 따라 상태값을 갖는다. 상태의 종류는 Thread.State 에 정의되어 있는데,BLOCKED, NEW, RUNNABLE, TERMINATED, TIMED_WAITING, WAITING 의 형태가 있다. thread.getState() 로 상태정보를 가져올 수 있다. Thread thread = new Thread(); 이 상태는 NEW thread.start(); 이 상태는 RUNNABLE thread scheduler 에 의해 실행이 시작되면 상태는 Running 상태 ( 상수로 구분되어 정의되어 있지는 않다. ) thread 안에서 wait( 1000 ); 이 상태는 TIMED_WAITING wait(); 이 상태는 WAITING.. 2013. 8. 19.
반응형