Vai paralēlais ForEach ir asinhrons?
Vai paralēlais ForEach ir asinhrons?

Video: Vai paralēlais ForEach ir asinhrons?

Video: Vai paralēlais ForEach ir asinhrons?
Video: WinGet: Windows Application Package Manager Part 1 2024, Maijs
Anonim

Visa ideja aiz muguras Paralēli . Katram () ir tas, ka jums ir pavedienu kopa un katrs pavediens apstrādā daļu no kolekcijas. Kā jūs pamanījāt, tas nedarbojas asinhrons - gaidiet, kur vēlaties atbrīvot pavedienu uz laiku asinhrons zvanu. Katram (), kas atbalsta asinhrons Uzdevums ir labi.

Saistībā ar to, kā gaidīt, kamēr paralēlā foreach tiks pabeigts?

Tev nekas īpašs nav jādara, Paralēli . Katram () gribas pagaidi līdz visi tās sazarotie uzdevumi ir pabeigt . No izsaucošā pavediena varat to uzskatīt par vienu sinhronu paziņojumu un, piemēram, ietīt to try/catch. Jums to nevajag ar Paralēli.

Līdzīgi, vai foreach ir asinhrons? Tas nav asinhrons . Tas bloķē. Tie, kuri pirms JS izmēģināšanas pirmo reizi apguva tādu valodu kā Java, C vai Python, apmulsīs, mēģinot savā cilpas pamattekstā ievietot patvaļīgu aizkavi vai API izsaukumu.

Papildus tam, kā jūs turpināt paralēlo foreach?

Kad konvertējāt cilpu par saderīgu definīciju Paralēli . Katram loģika, jūs galu galā padarījāt paziņojuma pamattekstu par lambda. Tā ir darbība, ko sauc par Paralēli funkciju. Tātad, nomainiet Turpināt ar return un break ar Stop() vai Break() priekšrakstiem.

Vai uzdevums WhenAll ir paralēls?

Piemērošana KadVisi atgriež singlu uzdevums kas nav pabeigts līdz katrai uzdevums kolekcijā ir pabeigta. The uzdevumus šķiet, ka ieskrien paralēli , bet papildu pavedieni netiek izveidoti. The uzdevumus var pabeigt jebkurā secībā.

Ieteicams: