Slide 46
Slide 46 text
@globalActor actor DBActor {
static let shared = DBActor()
}
class ThreadTests2: XCTestCase {
// MainActorʢglobalActorࢦఆʣແ͠
func test_MainActorͰͳ͘async() async {
print("A:", Thread.current)
let task = Task { @DBActor in
try! await Task.sleep(nanoseconds: 1_000_000_000 * 5)
print("B:", Thread.current)
}
await task.value
print("C:", Thread.current)
}
}
ෆ҆ఆͳݪҼ:OSSϑϨʔϜϫʔΫཧղෆ
εϨουA,B,CͷՄೳੑ
A == B, B== C ||
A == B, B!= C ||
A != B, B== C ||
A == C, C !== B ||
جૅ: globalActorࢦఆແ͠ͰActorݺͼग़͢ͱ࣮ߦ
εϨουঢ়گʹࠨӈ͞ΕΔʢεϨουϓʔϧ͔ΒબΕΔʣ
🐲