State
-
[Java] 멀티 스레드 - 상태 & 상태 제어CSE/Java 2015. 12. 12. 16:11
멀티 스레드는 여러 절로 구성되어 있습니다. Intro작업스레드스레드 우선순위 & 동기화 메소드와 동기화 블록스레드 상태 & 상태 제어스레드 상태 제어 2데몬 스레드 & 스레드 그룹스레드 풀 스레드 상태 스레드 객체를 생성하고, start() 메소드를 호출하면 곧바로 스레드가 실행되는 것처럼 보이지만 사실은 대기 상태가 됩니다. 실행 대기 상태란 아직 스케줄링 되지 않아서 실행을 기다리고 있는 상태를 말합니다. 실행 대기 상태에 있는 스레드 중에서 스케줄링으로 선택된 스레드가 CPU를 점유하고 run() 메소드를 실행하는데, 이를 실행(Running) 상태라고 합니다. 실행 상태의 스레드는 run() 메소드를 모두 실행하기 전에 스케줄링에 의해 다시 실행 대기 상태로 돌아갈 수 있습니다. 실행 상태에서 ..
-
[Design Pattern] 상태(State) 패턴 - 디자인 패턴CSE/Design Pattern 2015. 6. 13. 10:50
Pattern #17 상태 패턴 객체의 상태에 의하여 결정된 방법으로 객체를 동작하게 할 때 사용 패턴 요약 - 상태 객체를 따로 만들어 포함하게 하고, 상태 객체에게 위임하여 동작하게 함 동기 당신은 새로운 프로젝트의 프로그램 reviewer 책임을 맡았다. Reviewer로 당신은 팀원들이 개발한 핵심 코드를 살펴보고, 논리상의 문제점이나 좋지 않은 설계구조를 지적해 주어야 한다. 오늘 살펴본 코드에는, 특정 객체가 자신의 상태에 따라 다른 행동을 하기 위하여 if 문장을 많이 사용하였다. 그러다 보니, 함수의 크기가 커지고 객체상태가 많은 경우 해당 객체의 구현이 더욱 복잡해졌다. 개발자에게 조언해줄 해결방법은? 해결방안 - 객체의 가능한 상태 개수 만큼 State class를 작성한다. - 일반적..