ios – 简单的GCD串行队列示例,如使用块的FIFO

ios – 简单的GCD串行队列示例,如使用块的FIFO,第1张

概述我阅读了Apple文档,了解如何使用串行队列来确保以可预测的顺序执行任务,但现在我很困惑. 有些我如何能够连续工作,但仍然我不清楚,所以我需要简单的序列示例我的方法来连续执行. 我将我的功能分成4部分,现在希望它们能够连续执行 [self ReadAllImagesFromPhotosLibrary];[self WriteFewImagestoDirectory];[self Getti 我阅读了Apple文档,了解如何使用串行队列来确保以可预测的顺序执行任务,但现在我很困惑.
有些我如何能够连续工作,但仍然我不清楚,所以我需要简单的序列示例我的方法来连续执行.

我将我的功能分成4部分,现在希望它们能够连续执行

[self ReadAllimagesFromPhotoslibrary];[self WriteFewImagestoDirectory];[self GettingBackAllimagesFromFolder]; [self MovetoNextVIEw];
解决方法 为了跟进和改进 iCoder的答案,你可以并且应该做以下.
dispatch_queue_t serialQueue = dispatch_queue_create("com.unique.name.queue",disPATCH_QUEUE_SERIAL);dispatch_async(serialQueue,^{        [self ReadAllimagesFromPhotoslibrary];    }); dispatch_async(serialQueue,^{         [self WriteFewImagestoDirectory];});dispatch_async(serialQueue,^{    [self GettingBackAllimagesFromFolder]; });dispatch_async(serialQueue,^{    [self MovetoNextVIEw];});

尽管上述调用是异步的,但它们将按照disPATCH_QUEUE_SERIAL的状态排队并连续运行.同步和异步之间的区别在于,通过同步,您的代码将在运行以下代码之前暂停并等待块答案,因此如果执行时间长,可能会冻结您的UI.而使用异步,代码运行,块被异步返回.

但是,由于GCD(Grand Central dispatch),您存储在disPATCH_QUEUE_SERIAL中的任务将按照添加的顺序等待并执行.

总结

以上是内存溢出为你收集整理的ios – 简单的GCD串行队列示例,如使用块的FIFO全部内容,希望文章能够帮你解决ios – 简单的GCD串行队列示例,如使用块的FIFO所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1112003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存