dispatch_set_target_queue
에 소재가 부족하여 도움을 요청했습니다. 감사합니다. 내가dispatch_set_target_queue는 어떻게 작동합니까?
2014-04-16 22:23:49.581 ITGCDLearning[66758:1303] Now executing taskid:s1
2014-04-16 22:23:54.585 ITGCDLearning[66758:1303] Now executing taskid:s2
2014-04-16 22:23:59.586 ITGCDLearning[66758:1303] Now executing taskid:p1
와 반대로 : 나는
dispatch_set_target_queue(mySerialDispatchQueue2, mySerialDispatchQueue1);
후 결과가 설정 한 경우 지금
dispatch_queue_t mySerialDispatchQueue1 = dispatch_queue_create("come.itenyh", NULL);
dispatch_queue_t mySerialDispatchQueue2 = dispatch_queue_create("come.itenyh1", NULL);
dispatch_set_target_queue(mySerialDispatchQueue1, mySerialDispatchQueue2);
dispatch_async(mySerialDispatchQueue1, ^{[self task:@"s1"];});
dispatch_async(mySerialDispatchQueue2, ^{[self task:@"p1"];});
dispatch_async(mySerialDispatchQueue1, ^{[self task:@"s2"];});
- (void)task:(NSString *)taskid
{
NSLog(@"Now executing taskid:%@", taskid);
[NSThread sleepForTimeInterval:5];
}
: 여기
내 테스트 코드입니다dispatch_set_target_queue(mySerialDispatchQueue1, mySerialDispatchQueue2);
그 결과는 다음과 같습니다
2014-04-16 22:28:37.910 ITGCDLearning[66795:1303] Now executing taskid:s1
2014-04-16 22:28:42.913 ITGCDLearning[66795:1303] Now executing taskid:p1
2014-04-16 22:28:47.915 ITGCDLearning[66795:1303] Now executing taskid:s2
은 내가 dispatch_set_target_queue
기능
- 변화 큐
- 의에는 우선 순위가 파견 큐의 계층 구조를 만들 수 있다는 것을 알고.
내 코드에서 결과로 이어지는 두 번째 요점이지만 실제로 구체적인 세부 사항을 알지 못합니다. 누군가 나에게 설명 할 수 있을까?