본문 바로가기
[Effective Objective-C] #9 클래스 클러스터 패턴을 사용해 구현의 상세 내용을 숨기라 [Effective Objective-C] #9 클래스 클러스터 패턴을 사용해 구현의 상세 내용을 숨기라 출처 : Effective Objective-C -클래스 클러스터(class cluster)는 추상 기본 클래스(abstract base class) 뒤편에 상세 구현을 숨길 수 있는 아주 훌륭한 방법이다.이 패턴은 오브젝티브-C 시스템 프레임워크 전반에 걸쳐 사용된다.아래 함수가 예이다.+ (UIButton*)buttonWithType:(UIButtonType)type; 클래스 클러스터 생성하기 -typedef NS_ENUM(NSUInteger, EOCEmployeeType){ EOCEmployeeTypeDeveloper, EOCEmployeeTypeDesigner, EOCEmployeeTypeFi.. 2017. 8. 11.
[Java Concurrency] 단일 연산 변수와 넌블로킹 동기화 [Java Concurrency] 단일 연산 변수와 넌블로킹 동기화 - 병렬 알고리즘과 관련한 최근의 연구 결과를 보면 대부분이 넌블로킹 알고리즘, 즉 여러 스레드가 동작하는 환경에서 데이터의 안정성을 보장하는 방법으로 락을 사용하는 대신 저수준의 하드웨어에서 제공하는 비교 후 교환(compare-and-swap) 등의 명령을 사용하는 알고리즘을 다루고 있다. - 넌블로킹 알고리즘은 운영체제나 JVM 에서 프로세스나 스레드를 스케줄링 하거나 가비지 컬렉션 작업, 그리고 락이나 기타 병렬 자료 구조를 구현하는 부분에서 굉장히 많이 사용하고 있다. - 넌블로킹 알고리즘은 락을 기반으로 하는 방법보다 설계와 구현 모두 훨씬 복잡하며, 대신 확장성과 활동성을 엄청나게 높여준다. - 넌블로킹 알고리즘은 훨씬 세밀.. 2017. 5. 9.
반응형