Návrhář aktivity ParallelForEach
Aktivita ParallelForEach<T> vytvoří výčet prvků kolekce a spustí vložený příkaz pro každý prvek kolekce paralelně, což je asynchronně ve stejném vlákně. Tuto aktivitu řízení toku použijte místo Sequence aktivity, pokud se očekává, že podřízené aktivity této aktivity budou nečinné.
Aktivita ParallelForEach<T> má CompletionCondition vlastnost, která obsahuje uživatelem zadaný výraz jazyka Visual Basic. Aktivita ParallelForEach<T> tuto vlastnost vyhodnotí po dokončení každé větve. Pokud se vyhodnotí jako true, ParallelForEach<T> aktivita se dokončí bez provádění ostatních větví. CompletionCondition Pokud se hodnota true nevyhodnotí, aktivita se dokončí po ParallelForEach<T> dokončení všech podřízených aktivit.
Aktivita ParallelForEach<T>
ParallelForEach<T> vytvoří výčet hodnot a naplánuje Body pro každou hodnotu, pro kterou je výčet. Pouze naplánuje Body. Způsob provedení těla závisí na tom, jestli Body je nečinný.
Pokud nedojde k nečinnosti Body , provede se v opačném pořadí, protože naplánované aktivity se zpracovávají jako zásobník, provede se nejprve poslední naplánovaná aktivita. Pokud máte například kolekci {1,2,3,4}in ParallelForEach<T> a jako tělo použijete WriteLine k zápisu hodnoty. Máte 4, 3, 2, 1 vytištěné v konzole. Důvodem je to, že WriteLine nepřejde nečinně, takže po naplánování 4 aktivit WriteLine se spustí pomocí chování zásobníku (napřed za poslední ven).
Pokud ale máte aktivity, Body které můžou být nečinné, jako je Receive aktivita nebo Delay aktivita. Pak nemusíte čekat, až se dokončí. ParallelForEach<T> přejde na další naplánovanou aktivitu těla a pokusí se ji spustit. Pokud se tato aktivita také nečiní, ParallelForEach<T> přesune se znovu na další aktivitu těla.
Použití Návrháře aktivity ParallelForEach<T>
Přístup k návrháři aktivity ParallelForEach<T> v kategorii Tok řízení panelu nástrojů.
Návrhář aktivity ParallelForEach<T> lze přetáhnout z panelu nástrojů a přetáhnout na plochu Návrháře pracovního postupu všude, kde jsou návrháři aktivit obvykle umístěni, například uvnitř návrháře sekvencí aktivit. Po vyřazení do Návrháře pracovního postupu vytvoří ParallelForEach<T> aktivitu, která ve výchozím nastavení obsahuje DisplayName ParallelForEach<Int32>.
Vlastnosti T> ParallelForEach<v Návrháři pracovního postupu
Následující tabulka ukazuje nejužitečnější ParallelForEach<T> vlastnosti aktivity a popisuje, jak se používají v návrháři.
Název vlastnosti | Požaduje se | Využití |
---|---|---|
DisplayName | False | Určuje popisný zobrazovaný název návrháře aktivit v záhlaví. Výchozí hodnota je ParallelForEach<Int32>. Tuto hodnotu můžete volitelně upravit v mřížce Vlastnosti nebo přímo v záhlaví návrháře aktivit. |
Body | False | Aktivita, která se má provést pro každou položku v kolekci. Pokud chcete přidat Body aktivitu, přetáhněte aktivitu z panelu nástrojů do pole Text v návrháři aktivit ParallelForEach<T> s textem nápovědy "Drop Activity Here". |
TypeArgument | True | Typ položek v kolekci Values určený obecným parametrem T. Ve výchozím nastavení je TypeArgument nastaven na Int32. Chcete-li změnit typ T v návrháři aktivity ParallelForEach<T> , změňte hodnotu pole se seznamem TypeArgument v Mřížce vlastností. |
Values | True | Kolekce položek, které se mají iterovat. Chcete-li nastavit Valuesvýraz jazyka Visual Basic do pole Hodnoty v návrháři aktivity ForEach<T> v poli s textem nápovědy "Zadejte výraz VB" nebo do pole Hodnoty v okně Vlastnosti. |
CompletionCondition | Vyhodnotí se po dokončení každé iterace. Pokud se vyhodnotí jako true, naplánované čekající iterace se zruší. Pokud tato vlastnost není nastavena, všechny naplánované příkazy se spustí až do dokončení. |
Ve výchozím nastavení je iterátor smyčky pojmenovaná položka. Název proměnné iterátoru můžete změnit v poli ForEach v návrháři aktivit ParallelForEach<T> . Iterátor smyčky lze použít ve výrazech v podřízených objektech ParallelForEach<T> aktivity.