0
我有我創建併發隊列中迅速3 與GCD的問題,我通過函數在此隊列中這個功能調用另一個功能 我需要打印所經過的時間爲每個調用 但我認爲實現併發隊列內切下面我的代碼:問題GCD併發隊列中迅速3
// peform task with the concurrent queue
class DoCalculations{
func doCalc() {
let x = 100
let y = x * x
_ = y/x
}
func performCalculation(itretion:Int,tag:String) {
let start = CFAbsoluteTimeGetCurrent()
for _ in 0..<itretion {
self.doCalc()
}
let end = CFAbsoluteTimeGetCurrent()
print("tag :\(tag) : \(end - start)")
}
}
let calc = DoCalculations()
let cQueue = DispatchQueue(label: "com.myCompany", attributes: .concurrent)
cQueue.async {
calc.performCalculation(itretion: 1000000, tag: "sync1")
}
cQueue.async {
calc.performCalculation(itretion: 1000, tag: "sync2")
}
cQueue.async {
calc.performCalculation(itretion: 100000, tag: "sync3")
}
//打印功能不Excuted 請就可以解決這個問題
非常感謝你,但是當我完成執行或自動完成時,請執行它,因爲循環需要很長時間 –
我不明白這個問題。執行結束後你想要發生什麼?但是,是的,這可能需要很長時間,這取決於您的硬件配置。 – Rob
我的意思是如果我執行上面的代碼循環仍然計數長時間和數字是增加,直到達到1000000這是正常的或有問題與我的代碼?謝謝 –