bmaxa
Legenda
- Poruka
- 70.808
Elem za ovu gimnastiku ce vam biti potreban XCode 13 beta i macOS 11+
Elem
Fora je da ovo bas i nije toliko korisno posto async ne pokrece thread momentalno nego na await.
Zbog toga sto async moze samo uz let pa da radi paralelno rezultati se ne mogu smestiti u niz.
I onda async let const1 itd.
Inace f-ja se pokrece na await, samo meni nije jasno koja svrha toga kada moras da cekas da
se f-ja zavrsi a ne mozes nista drugo da radis
Kao sto vidite po 3 ove f-je se izvrsavaju paralelno i to je jedini nacin.
Inace ova async let fora je dobra jer ne morate da markirate f-je eksplicitno async...
Elem
Swift:
@main
struct Main{
static func main()async{
for _ in 0..<10 {
print("starting")
async let a = f()
async let b = f()
async let c = f()
print(await a + b + c)
}
}
static func f()->Int{
i += 1
sleep(1)
print("async ",i)
return i
}
static var i:Int = 0
}
Fora je da ovo bas i nije toliko korisno posto async ne pokrece thread momentalno nego na await.
Zbog toga sto async moze samo uz let pa da radi paralelno rezultati se ne mogu smestiti u niz.
I onda async let const1 itd.
Inace f-ja se pokrece na await, samo meni nije jasno koja svrha toga kada moras da cekas da
se f-ja zavrsi a ne mozes nista drugo da radis

Kod:
starting
async 3
async 3
async 3
9
starting
async 6
async 6
async 6
18
starting
async 9
async 9
async 9
27
starting
async 12
async 12
async 12
36
starting
async 15
async 15
async 15
45
starting
async 18
async 18
async 18
54
starting
async 21
async 21
async 21
63
starting
async 24
async 24
async 24
72
starting
async 27
async 27
async 27
81
starting
async 30
async 30
async 30
90
Inace ova async let fora je dobra jer ne morate da markirate f-je eksplicitno async...