如何限制同时调用函数的多个定时器函数? Swift 3+

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何限制同时调用函数的多个定时器函数? Swift 3+相关的知识,希望对你有一定的参考价值。

我有5个定时器以不同的时间间隔运行。所有这些定时器都调用相同的功能。在某个时间,一个或多个计时器功能尝试访问相同的方法,这将使我的应用程序崩溃。

我如何为这个特定场景实现NSOperation队列。

感谢您的帮助。

答案

您可以使用label创建调度队列。

 let queue = DispatchQueue(label: "update")  //  later on your "other threads"

queue.sync {                                                
//perform any task you want
}

在您的每个计时器中使用上面的代码。通过这种方式,只有当它是免费的时,所有人才能执行这个“更新”线程

以上是关于如何限制同时调用函数的多个定时器函数? Swift 3+的主要内容,如果未能解决你的问题,请参考以下文章

Qt中多个定时器共享一个槽函数,怎么确定是哪个定时器超时呢?

写一个限制执行次数的函数

更改文本字段,调用 api - 如何限制这个?

如何在VC6.0里实现多个计时器的同时运行?

优雅的断言函数不是从多个线程调用的

如何从异步数据中检查多个不等式?