在很短的时间内多次调用一个函数

时间:2015-08-19 16:00:07

标签: ios

我会在很短的时间内多次调用一个函数,并且这个函数不会在主线程上执行。

例如,我会在一秒钟内拨打5次电话。我的要求是:

  1. 第一个电话应立即执行。
  2. 应执行最后一次通话(第5次),可以忽略其他通话。
  3. 一次调用一次,不应该同时在两个线程上执行此函数。
  4. 那怎么样?

1 个答案:

答案 0 :(得分:1)

看看NSOperation和NSOperationQueue。

  1. 将您的功能包裹在NSOperation中。
  2. 添加新内容时,您可以将NSOperationQueue 序列和cancelAllOperations设为 NSOperation in。
  3. 您的操作将在某些情况下执行 NSOperationQueue你已经创建了,所以他们将在同一个线程上;)
  4. 以下是Apple并发和NSOperation的文档:https://developer.apple.com/library/mac/documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationObjects/OperationObjects.html