2016-08-30 4 views
-1

15 개의 병렬 작업자를 실행하는 15 개의 GCD 백그라운드 스레드가 있습니다. 백그라운드에서 메인 스레드로 알림/위임을 보내는 예제가 많이 있습니다. 내가 어떻게 주 스레드에서 모든 15 스레드 신호를 보낼 수 있을까?GCD 백그라운드 스레드에 알리기

+3

[XY 문제] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) 여기에서 냄새가납니다. 우리는 당신을 도울 수 있도록 귀하의 코드를보아야합니다. – ozgur

+0

@ozgur와 동의합니다. 설명했듯이이 질문은 의미가 없습니다. 이것은 일반적인 GCD 패턴이 아닙니다. GCD는 "백그라운드 스레드"또는 "병렬 작업자"측면에서 일을 관리하지 않습니다. 대기열과 블록을 관리합니다. 이는 문제에 대한 매우 다른 접근 방식입니다. 스레드 기반 설계를 GCD로 변환하는 방법을 설명하는 "스레드에서 마이그레이션"을 참조하십시오. https://developer.apple.com/library/ios/documentation/General/Conceptual/ConcurrencyProgrammingGuide/ThreadMigration/ThreadMigration.html#//apple_ref/doc/uid/TP40008091-CH105-SW7 –

답변

0

먼저 각 큐가 작업을 위해 별도의 스레드를 생성한다는 보장이 없으므로 큐에 대해서는 이야기하고 있지만 스레드에 대해서는 언급하지 않는다고 가정합니다. 그렇다면 dispatch_group 주제로보아야합니다. 문제를 해결할 수있는 능력이 충분하지 않으면 NSOperation 대기열을 확인하는 것보다 훨씬 강력합니다. 희망이 도움이됩니다.

관련 문제