これを使えば2つの処理を同時に行うことができる。
- (void)viewDidLoad
{
[super viewDidLoad];
NSDate *now = [NSDate date];
dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_group_t g = dispatch_group_create();
dispatch_semaphore_t semaphore = dispatch_semaphore_create(1);//同期処理の個数を書く。2つの処理を同時に行う場合は1
dispatch_group_async(g,q,^{
int i = 0;
while(i < 100){
NSLog(@"%d",i);
i++;
}
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
dispatch_semaphore_signal(semaphore);
});
dispatch_group_async(g,q,^{
int i = 0;
while(i < 100){
NSLog(@"%@",@"----------------------------------");
i++;
}
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
dispatch_semaphore_signal(semaphore);
});
dispatch_group_wait(g, DISPATCH_TIME_FOREVER);
NSDate *then = [NSDate date];
NSLog(@"then - now: %1.3fsec",[then timeIntervalSinceDate:now]);
printf("end");
}
で、とりあえず使い方はこれでいいんだろうけど、
遅いんだよな。
gcd使った場合の方が。
URLを同時に取りにって解析とかの場合は早くなるんだろうか。



