私はgroup.waitからタイムアウトを取得しようとしていますが、これは常に成功します。なぜこのgroup.waitは常に成功するのですか?
blueGroup.enter()
for i in 1...1000000 {
print(i)
}
blueGroup.leave()
let time: DispatchTime = .now() + .seconds(1)
let result = blueGroup.wait(timeout: time)
print("finished \(result)") // always success
let redGroup = DispatchGroup()
redGroup.enter()
for i in 0...300000 {
print(i/(i + 1))
if i == 300000 {
print(i)
let result = redGroup.wait(timeout: .now() + .seconds(10))
print(result) // always timeout
redGroup.leave()
}
}
私は間違っていますか?
あなたはグループで行われていない場合は、
待機が失敗するかタイムアウトが発生するのはなぜですか? – rmaddy
@rmaddyタイムアウトを取得したい。 –
leaveを呼び出す前にwaitを呼び出すコードが必要です。 – rmaddy