기본적으로 모든 스레드에 연관된 디스패치 대기열이 있습니까? 모든 문맥에서 dispatch_semaphore
을 사용할 수 있는지 또는 정의 된 큐를 사용하여 명시 적 디스패치 호출로 래핑해야하는지 궁금합니다.모든 NSThread가 자동으로 디스패치 대기열을 갖고 있습니까?
6
A
답변
7
질문이 의미하는대로 작동하지 않습니다. 기본적으로 주 스레드와 연결된 주 디스패치 대기열과 3 개의 대기열 (각각 높은 우선 순위, 낮은 우선 순위 및 낮은 우선 순위)이 있습니다.
동시 대기열은 특정 스레드와 연결되지 않고 자체 스레드 리소스를 관리합니다.
사실, 그것은 dispatch_queue_create()
man 페이지에 상당히 구체적으로 말한다 :
"대기열이 동시에 실행할 수있는 실행 및 독립적 인 큐에 제출 블록의 특정 스레드에 바인딩되지 않습니다."
디스패치 대기열 (질문의 다른 부분) 외부에서 디스패치 세마포를 사용할 수 있는지에 대한 대답은 '예'입니다. 그들은 마하 세마포어 (semaphore) 위에 구현되며 모든 곳에서 작동해야합니다. 여기에서 코드를 볼 수 있습니다 :
http://opensource.apple.com/source/libdispatch/libdispatch-84.5.5/src/semaphore.c
관련 문제
- 1. 왜 Rhino.ServiceBus가 자동으로 모든 대기열을 생성하지 않습니까?
- 2. NServiceBus : 대기열을 자동으로 생성하지 않는 방법
- 3. NSThread가 너무 일찍 종료 됨
- 4. 디스패치 장식
- 5. 자동으로 모든 템플릿에 사용자를 포함시킬 수 있습니까?
- 6. 메시지 대기열을 사용해야합니까?
- 7. 글로벌 디스패치 대기열을 사용할 때 NSURLConnection 대리자 메서드가 호출되지 않는 이유는 무엇입니까?
- 8. 차이점 인벤토리 디스패치 시스템과 포 그라운드 디스패치 시스템
- 9. association에 foreign_key를 갖고 싶지 않은 이유가 있습니까?
- 10. Gridview에 대해 여러 컨트롤을 어떻게 갖고 있습니까?
- 11. 리플렉션 또는 다이나믹 디스패치
- 12. C#에서 이중 디스패치?
- 13. QProcess에서 대기열을 사용하려면 어떻게해야합니까?
- 14. Magento 디스패치 및 캐칭 이벤트
- 15. 데이터베이스에 MSMQ 대기열을 저장하십시오.
- 16. 모든 함수에 console.log를 자동으로 추가하기
- 17. 특정 값을 갖고 있지 않은 SQL 테이블의 모든 필드를 업데이트하십시오.
- 18. Magento; 디스패치 멀티 스토어
- 19. doClick은 디스패치 스레드에 있어야합니까?
- 20. 호스트 헤더에 디스패치
- 21. 동적 디스패치 구현
- 22. 자바 AWT 이벤트 디스패치
- 23. java ee | ejb3 | 런타임 디스패치
- 24. Windows Azure에서 공용 대기열을 만들 수 있습니까?
- 25. 어떻게하면 cpp에서 대기열을 비교할 수 있습니까?
- 26. 어떻게 jQuery 애니메이션 대기열을 만들 수 있습니까?
- 27. 언제, 어떻게 대기열을 사용해야합니까?
- 28. 자동으로 모든 href 값을 설정하십시오.
- 29. 모든 JSP에 자동으로 JSP를 포함하십시오.
- 30. 대기열을 만드는 방법