Ali je vzporedni ForEach asinhroniziran?
Ali je vzporedni ForEach asinhroniziran?

Video: Ali je vzporedni ForEach asinhroniziran?

Video: Ali je vzporedni ForEach asinhroniziran?
Video: Can you make your own battery pack for EVs - Edd China's Workshop Diaries 27 2024, Maj
Anonim

Celotna ideja zadaj Vzporedno . Za vsakogar () je, da imate nabor niti in vsaka nit obdeluje del zbirke. Kot ste opazili, to ne deluje async - await, kjer želite sprostiti nit za čas trajanja async pokliči. Za vsakogar (), ki podpira asinhrono Naloga je dobra.

V zvezi s tem, kako počakate, da se vzporedni foreach dokonča?

Nič posebnega ti ni treba narediti, Vzporedno . Za vsakogar () volja počakaj dokler niso vse njene razvejane naloge dokončan . Iz klicne niti ga lahko obravnavate kot en sam sinhroni stavek in ga na primer zavijete v try/catch. Tega ne rabiš s Vzporedno.

Podobno je foreach asinhroni? Ni asinhrono . Blokira. Tisti, ki so se najprej naučili jezika, kot je Java, C ali Python, preden poskusijo JS, se bodo zmedli, ko bodo poskušali v telo zanke vnesti poljubno zamudo ali klic API-ja.

Poleg tega, kako nadaljujete vzporedno foreach?

Ko ste svojo zanko pretvorili v združljivo definicijo za Vzporedno . Za vsakogar logike, na koncu ste naredili telo izjave lambda. No, to je dejanje, ki ga pokliče Vzporedno funkcijo. Torej zamenjaj nadaljujte z return in break s stavkom Stop() ali Break().

Ali je naloga WhenAll vzporedna?

Uporaba Ko Vse vrne eno nalogo ki ni popolna do vsakega nalogo v zbirki je dokončan. The naloge zdi se, da tečejo vzporedno , vendar niso ustvarjene nobene dodatne niti. The naloge lahko dokončate v poljubnem vrstnem redu.

Priporočena: