ios - Swift Dispatch Group 问题线程问题
问题描述
这样写的代码会不会有什么潜在的bug?基本上,调度组的通知闭包已经在主线程上,但我的技术负责人在通知闭包内再次在 main 上添加了 DispatchQueue。我试图推动删除DispatchingQueue.main.async {}
呼叫,但他们的回应是它已经被 QA-ed 并告诉我不要碰它,担心我可能会导致错误。
会不会有线程问题?
func foo(completion: @escaping () -> Void) {
let group = DispatchGroup()
group.enter()
self.fetchData1() {
// code
group.leave()
}
group.enter()
self.fetchData2() {
// code
group.leave()
}
group.notify(queue: .main) {
DispatchQueue.main.async {
// code
return completion() //yeah... idk why it's written like this
}
}
}
解决方案
推荐阅读
- r - 如何在 R 中获取游侠对象的摘要
- openmdao - 在问题中定义不用作输入且等于先前输入/输出的变量
- file - 通过 Jupyter Hub 写入磁盘所有权
- javascript - 为什么 JavaScript .sort() 方法会跳过花色的 Unicode 卡片字符十六进制字母,而不是卡片等级的以下十六进制数字?
- tensorflow - Tensorflow:ValueError:`generator`产生了一个形状()的元素,其中一个形状()的元素是预期的
- php - Wordpress 更改回复链接
- azure - 如何获取未连接到 Log Analytics Worspace 的 VMS 列表?
- python - SQLAlchemy 动态 column_property
- javascript - Netconf librarr - JS 中的 RPC 请求
- python - 在本地从 pyspark 读取 azure datalake gen2 文件