IOS函数处理程序线程安全

时间:2014-04-24 09:18:32

标签: ios objective-c

每次滚动视图滚动时都会调用以下代码,如果用户多次滚动它,则会导致代码崩溃。我如何确保一次只执行一个代码或线程安全?

 [self.cv addInfiniteScrollingWithActionHandler:^{
    [weakSelf loadNextPage];
}];

2 个答案:

答案 0 :(得分:0)

这是示例

- (void)_startExperiment {  
      FooClass *foo = [[FooClass alloc] init];  
      dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);  

   for (int i = 0; i < 4; ++i) {  
     dispatch_async(queue, ^{  
       [foo doIt];  
     });  
   }  
   [foo release];  
 }

Detail is Here

答案 1 :(得分:0)

常见的模式是使用互斥锁来保护访问和/或修改结构的关键代码段。

只需浏览此链接 - &gt; Does @synchronized guarantees for thread safety or not?