当我触摸按钮时,我想退出后台线程。在ios

时间:2012-05-17 05:49:52

标签: ios multithreading grand-central-dispatch

我的程序是由gcd运行的。

-(void) viewdidLoad {

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,0),
    ^ {
        for(int i=0; i<screenshotNum ; i++)
        {
            NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];  

            NSString * url=[detailItem.mScreenshot objectAtIndex:i];

            NSDictionary *args=[NSDictionary dictionaryWithObjectsAndKeys:
                                [NSNumber numberWithInt:i], @"screenNum",
                                [NSString stringWithString:url],@"url",
                                nil];

                               [self loadImageScreenshot:args];

            [pool release]; 
        }
    });
}
当我dismissModalViewController时,

问题仍在运行。

当我触摸按钮时,我想退出这些反向线程。

-(void) BackButtonPressed:(id)sender
{
    [self dismissModalViewControllerAnimated:YES];
}

如何添加代码?

1 个答案:

答案 0 :(得分:0)

没有已定义的API来取消使用Dispatch Queues的操作,但是如果需要,您可以定义某个终止点。

查看此主题以获取详细说明 - kill items in a dispatch_async queue in iOS