학습 Ios의 동시성 프로그래밍 주제. 여러 개의 직렬 디스패치 대기열에 대한 샘플 응용 프로그램을 만들었습니다.다중 직렬 발송 대기열 동시 실행 중입니까?
-(IBAction)SerialDispatchAction:(id)sender
{
s1queue = dispatch_queue_create("com.newtok.firstQueue" , NULL);
s2queue = dispatch_queue_create("com.newtok.secondQueue" , NULL);
dispatch_async(s1queue, ^{
int i=0;
while(i<5)
{
printf("First Asynchronous Dispatch Queue.....\n");
sleep(1);
i++;
}
});
dispatch_async(s2queue, ^{
int i=0;
while(i<5)
{
printf("Second Asynchronous Dispatch Queue.....\n");
sleep(1);
i++;
}
});
dispatch_sync(s1queue ,^{
int i=0;
while(i<5)
{
printf("First Synchronous Dispatch Queue.....\n");
sleep(1);
i++;
}
});
dispatch_sync(s2queue ,^{
int i=0;
while(i<5)
{
printf("Second Synchronous Dispatch Queue.....\n");
sleep(1);
i++;
}
});
}
여러 개의 디스패치 직렬 대기열을 만드는 경우 대기열이 동시에 실행되고 있습니다. 나는 이걸 넣어 놨어 ....
First Asynchronous Dispatch Queue.....
Second Asynchronous Dispatch Queue.....
First Asynchronous Dispatch Queue.....
Second Asynchronous Dispatch Queue.....
First Asynchronous Dispatch Queue.....
Second Asynchronous Dispatch Queue.....
First Asynchronous Dispatch Queue.....
Second Asynchronous Dispatch Queue.....
First Asynchronous Dispatch Queue.....
Second Asynchronous Dispatch Queue.....
First Synchronous Dispatch Queue.....
First Synchronous Dispatch Queue.....
First Synchronous Dispatch Queue.....
First Synchronous Dispatch Queue.....
First Synchronous Dispatch Queue.....
Second Synchronous Dispatch Queue.....
Second Synchronous Dispatch Queue.....
Second Synchronous Dispatch Queue.....
Second Synchronous Dispatch Queue.....
Second Synchronous Dispatch Queue.....
dispatch_async와 dispatch_sync의 차이점은 무엇입니까? 어떻게 서로 얽혀 있습니까?