如何释放我的串行队列的块堆栈?我已经把异步执行的一些块放入队列中,并且在某些时候我想完全释放这个队列为空。我正在使用低级别dispatch_queue_t
。可能吗?谢谢。空的和完全空闲的串行队列
回答
你正在使用什么样的队列?
是NSOperationQueue ??
然后-[NSOperationQueue cancelAllOperations]
应该做的工作。
抱歉没有更具体。我正在使用低级别的'dispatch_queue_t'。 – user500 2013-03-19 09:41:29
从其他来源,我得到以下。请阅读这个。 “NSOperationQueue可以让你更好地控制你的操作是如何执行的,例如,你可以定义单个操作之间的依赖关系,这对于普通的GCD队列来说是不可能的,也可以取消已经在NSOperationQueue中入队的操作只要操作支持它),当你将一个块排入GCD调度队列时,它肯定会在某个时候执行。“ – Xcoder 2013-03-19 09:45:06
是的,但我需要串行FIFO队列和'NSOperationQueue'不起作用。 – user500 2013-03-19 09:53:45
- 1. 锁定空闲队列入队如果不为空
- 2. 空闲和matplotlib
- 3. 完成空闲活动
- 4. 如何在Flask和SQLAlchemy上完全关闭postgresql事务空闲?
- 5. Python空闲和KeyboardInterrupts
- 6. 关于锁定空闲队列的问题
- 7. 锁定空闲队列中的错误在哪里?
- 8. 列表框是完全空白的
- 9. 队列为空
- 10. 的Python:在空闲
- 11. Chart.js和右侧空闲空间
- 12. ASP.NET UpdatePanel空闲后导致完全回发
- 13. 异步队列在kill时不会空闲
- 14. 锁定空闲队列,已加载vs未加密CPU
- 15. strlen和空闲内存
- 16. 空闲和熊猫蟒
- 17. 芹菜+ RabbitMQ的空队列
- 18. 可变长度的空闲列表
- 19. HDFS平衡器迭代全部空闲
- 20. 全阵列评估为空和空
- 21. 有在空闲
- 22. 空闲异常(python 2.7) - 空闲时可能出现的错误?
- 23. Python和空闲名称的由来
- 24. Tomcat的连接池和空闲连接
- 25. SQL Server将“表空闲空间”移动到“数据库空闲空间”
- 26. ASM 8086的空闲块
- 27. aix中的空闲会话
- 28. RTOS中的空闲时间
- 29. New Relic的空闲提醒
- 30. remove_if后的空闲内存
你想取消当前正在执行的块吗?基本上不能直接通过'dispatch_queue'完成,你需要使用像NSOperationQueue这样的更高级别的构造,否则你需要在你的调度队列执行中添加一个快速退出取消。 – gaige 2013-03-19 11:03:52
我不认为“正在执行块”是正确的,因为我们正在谈论FIFO队列。假设我想释放队列,目前可能正在执行阻塞操作。我明白,如果当前正在执行的block不能被取消,那么如果这个block会完成执行,那就没事了。但是我想取消剩余的堆栈以供执行。快速退出取消是什么意思? – user500 2013-03-19 11:16:55
调度队列中没有任何取消方法。所以,所有的块都会执行,并且在某个时间点会变成当前执行的。没有调度队列的冲洗机制。 – gaige 2013-03-19 11:29:45