Ios swift中的同步周期
在传统文献的基础上,通过网络进行数字化测试。 我是斯威夫特的新手。我无法同步两个周期的工作,然后显示结果 例如:Ios swift中的同步周期,ios,swift,thread-safety,Ios,Swift,Thread Safety,在传统文献的基础上,通过网络进行数字化测试。 我是斯威夫特的新手。我无法同步两个周期的工作,然后显示结果 例如: // Step1: do the first cycle. for value0 in list0{ doStuff() } // Step1: do the second cycle. for value1 in list1{ doStuff() } // Show result. showResult() 我尝试过这样做: let lockQueue =
// Step1: do the first cycle.
for value0 in list0{
doStuff()
}
// Step1: do the second cycle.
for value1 in list1{
doStuff()
}
// Show result.
showResult()
我尝试过这样做:
let lockQueue = dispatch_queue_create("com.test.LockQueue", nil)
dispatch_sync(lockQueue) {
// Step1: do the first cycle.
for value0 in list0{
doStuff()
}
// Step1: do the second cycle.
for value1 in list1 {
doStuff()
}
// Show result.
}
showResult()
它工作并编译,但不同步两个代码的工作。事实上,结果并不完整。很难理解你在问什么。您提供的源代码将按顺序执行;与
list0
相关的所有doStuff
调用将发生在与list1
相关的所有doStuff
调用之前。您的doStuff
方法是否将内容推送到后台队列?解释:我正在创建一个.txt文件,在其中写入内容。首先,我必须在列表1中写入内容,只有当他完成时,我才必须在列表2中写入内容,并且只有当完成时才会显示结果。除非您的doStuff
正在将内容推送到不同的线程/调度队列,否则您编写的代码将执行此操作。如果看不到doStuff
的内容,就不清楚为什么您编写的代码没有按照您想要的方式运行。