본문 바로가기
[Effective Objective-C] #46 dispatch_get_current_queue 사용을 피하라 [Effective Objective-C] #46 dispatch_get_current_queue 사용을 피하라 출처 : Effective Objective-C -GCD 를 사용하면서 특히 여러 큐에 디스패칭할 때 어떤 큐가 현재 실행되고 있는지 알아내야 하는 경우가 흔히 있다.dispatch_queue_t dispatch_get_current_queue() 이 함수가 하는 일은 현재 실행되고 있는 큐를 반환하는 것이라고 문서에 나와 있다.그러나 주의 깊게 다루어야 한다.사실 이 함수는 iOS 6.0 에서 공식적으로 폐기되었다.그러나 맥 OS X 10.8에서는 폐기되지 않았다.그렇다 하더라도 맥 OS X 에서도 사용을 피해야 한다. -이 메서드를 흔히 사용하게 되는 전형적인 안티패턴(anti patter.. 2017. 10. 13.
[Java Concurrency] 스레드 안전성 [Java Concurrency] 스레드 안전성 - 스레드에 안전한 코드를 작성하는 것은 근본적으로는 상태, 특히 공유되고 변경할 수 있는 상태에 대한 접근을 관리하는 것이다. - 공유된 상태에 대한 접근을 동기화해야 한다는 원칙에 "특별한" 경우의 예외가 있다고 생각하고 싶겠지만, 그런 유혹은 버려야 한다. - 만약 여러 스레드가 변경할 수 있는 하나의 상태 변수를 적절한 동기화 없이 접근하면 그 프로그램은 잘못된 것이다. 이렇게 잘못된 프로그램을 고치는 데는 세 가지 방법이 있다. 1. 해당 상태 변수를 스레드 간에 공유하지 않거나 2. 해당 상태 변수를 변경할 수 없도록 만들거나 3. 해당 상태 변수에 접근할 땐 언제나 동기화를 사용한다. - 스레드 안전성을 확보하기 위해 나중에 클래스를 고치는 것.. 2017. 4. 14.
반응형