맥이나 아이폰 개발에서, NSOperationQueue는 매우 편리한 클래스이다. 아주 간편하게 병행성을 지원해서 멀티 스레드를 쓸 수 있게 해준다. 자바에서 Executor에 대응하는 녀석이다.
그런데 인텔 맥으로 옮겨온 개발자들이 한결같이 '편하기는 하지만 버그가 있으므로 쓰지 말 것'을 강권하곤 했다. 이는 매우 드물게 일어나며, 인텔 맥에서만 일어나는 버그였다.( Don't Use NSOperationQueue 참고 ) 그래서 몇몇 개발자들은 이와 비슷한 역할을 하면서 버그가 없는 대안 클래스들을 직접 제작해서 배포하기도 하는 등의 웃지 못할 사태가 일어났다.
물론 당연히 맥 OS X 10.5.7의 업데이트에서 이 문제가 해결되었다. ( Use NSOperationQueue 참고) 최신 아이폰 OS에서도 일어나지 않는 버그로 알고 있다. :-)



덧글