I learning Concurrency programming topic in ios. I did a sample application for multiple serial dispatch queue.
-(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++;
}
});
}
I read ,if you are creating multiple Dispatch serial queue , the queues are running concurrently. i got the out put like this....
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.....
What is the difference between dispatch_async and dispatch_sync? How it dip pent each other?