swift - 如果调用 NSApp.terminate,是否会清理 DispatchQueue 线程?
问题描述
如果我的应用程序中的代码执行延迟:
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + .seconds(20), qos: .background) {
//code
}
如果在作业运行或正在运行之前调用 NSApp.terminate,我是否需要取消此操作或在 AppDelegate 中执行任何特定操作?应用退出时是否会自动清理 GCD 线程?
解决方案
当应用程序终止时,操作系统会自动清理其所有内存资源,包括队列和线程。您无需执行任何操作即可停止此任务。
推荐阅读
- apache-kafka - 如何在 Kafka ProducerPerformance 工具中传递多线程作为参数?
- python - 如何处理来自文本文件的输入数据
- python - 默认值不适用于存在的位置和可选参数
- mvvm - 绑定命令根本没有响应
- swift - 关闭自定义弹出对话框
- javascript - 基于另一个选择器自动完成选择器中的数据?
- javascript - 错误:无法解析 JS 同构应用程序中的“fs”
- spring-boot - 如何将wiremock服务从spring boot应用程序部署到azure app services?
- c# - 如何使用 OpenCV4 在 Unity3d 中修复灰度图像的可视化?
- scala - Scala immutable.Map.apply 每次调用时都会重新评估