1
我的应用程序必须在云数据库和核心数据之间进行大量同步,并且这发生在各种方法中。我这样做是使用简单的后台线程:如何创建和管理串行后台线程
dispatch_queue_t backgroundThread = dispatch_queue_create("background thread", NULL);
dispatch_async(backgroundThread, ^{ ...
但是,如果我的应用程序做的东西太迅速,可以同时进行不同的同步任务,这可能会导致意外的结果。
因此,我想在一个线程上串行执行所有同步任务。无论何时我需要执行同步任务,我都想将其分派到专用线程,而不是在该线程完成所有以前提交的任务之前执行。我应该如何管理?具体而言...
- 我应该如何实例化我的后台串行线程?
- 我应该采取措施在应用程序的整个生命周期中保留它,或者 - 不确定这是否是一个问题 - 让它在不使用时释放,然后重新创建它?
- 我该如何引用它/从各种方法/对象派遣它?
我一直没有找到答案直接解决这种情况。这一个(Using a single shared background thread for iOS data processing?)接近,但回避。
谢谢你的时间。
其实,我得到一个错误说一个分号后预期( )在第一行。 – mkc842
你的意思是在my_serial_queue()的声明中吗?你能给出完整的错误信息吗? – combinatorial
啊一个“静态函数”不能在方法中声明。我熟悉块而不是函数。无论如何,明白了,谢谢。 – mkc842