でGCDでの同時キューは、私は、同時キューを作成3迅速 で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")
}
//印刷機能を使用すると、運動場でこれをやっている場合、これは
ループ実行に時間がかかりますので、実行が完了するかオートが終了してくれてありがとうございます。 –
質問が分かりません。実行が終了したら何をしたいですか?しかし、はい、ハードウェア構成によっては時間がかかることがあります。 – Rob
私は上記のコードを実行すると、ループはまだ長い時間をカウントしており、数値が1000000に達するまで増加しています。これは正常ですか、または自分のコードに問題がありますか?ありがとうございます –