Aracılığıyla paylaş


ParallelForEach Etkinlik Tasarımcısı

etkinliği, ParallelForEach<T> bir koleksiyonun öğelerini numaralandırır ve koleksiyonun her öğesi için paralel olarak ekli bir deyim yürütür ve bu da aynı iş parçacığında zaman uyumsuz olarak kullanılmaktadır. Bu etkinliğin alt etkinliklerinin Sequence boşta olması bekleniyorsa etkinlik yerine bu akış denetimi etkinliğini kullanın.

Etkinlik, ParallelForEach<T> kullanıcı tarafından belirtilen Visual CompletionCondition Basic ifadesini içeren bir özelliğe sahiptir. Etkinlik, ParallelForEach<T> her dal tamamlandıktan sonra bu özelliği değerlendirir. True olarak değerlendirilirse, ParallelForEach<T> etkinlik diğer dalları yürütmeden tamamlar. CompletionCondition değeri true olarak değerlendirilmezse, ParallelForEach<T> tüm alt etkinlikleri tamamlandığında etkinlik tamamlanır.

ParallelForEach<T> Etkinliği

ParallelForEach<T> değerlerini numaralandırır ve numaralandırma yaptığı her değer için öğesini zamanlar Body . Yalnızca zamanlar Body. Gövdenin nasıl yürütülür, boşta olup olmadığına Body bağlıdır.

Body boşta kalırsa, zamanlanmış etkinlikler bir yığın olarak işlenmek üzere olduğundan ters sırada yürütülür, en son zamanlanan etkinlik önce yürütülür. Örneğin, içinde ParallelForEach<T> bir koleksiyonunuz {1,2,3,4}varsa ve değeri yazmak için gövde olarak bir WriteLine kullanın. Konsolda 4, 3, 2, 1 yazdırıldı. Bunun nedeni WriteLine'ın boşta kalmamasıdır, bu nedenle 4 WriteLine etkinliği zamanlandıktan sonra bir yığın davranışı kullanılarak yürütülür (ilk olarak son dışarı).

Ancak içinde Body etkinlik veya Delay etkinlik gibi Receive boşta bırakılabilen etkinlikleriniz varsa. O zaman tamamlanmasını beklemeniz gerekmez. ParallelForEach<T> sonraki zamanlanmış gövde etkinliğine gider ve yürütmeyi deneyin. Bu etkinlik de boşta kalırsa sonraki ParallelForEach<T> gövde etkinliğine yeniden devam eder.

ParallelForEach<T> Etkinliği Tasarım Aracı Kullanma

Araç Kutusu'nun Denetim Akışı kategorisindeki ParallelForEach<T> etkinlik tasarımcısına erişin.

ParallelForEach<T> etkinlik tasarımcısı Araç Kutusu'ndan sürüklenebilir ve etkinlik tasarımcılarının normalde bir Sıralı etkinlik tasarımcısının içine yerleştirildiği her yerde İş Akışı Tasarım Aracı yüzeyine bırakılabilir. İş Akışı Tasarım Aracı bıraktıktan sonra varsayılan olarak ParallelForEach Int32> içeren bir DisplayName ParallelForEach<T> etkinlik oluşturur.<

İş Akışı Tasarım Aracı ParallelForEach<T> Özellikleri

Aşağıdaki tabloda en kullanışlı ParallelForEach<T> etkinlik özellikleri gösterilir ve bunların tasarımcıda nasıl kullanıldığı açıklanır.

Özellik Adı Zorunlu Kullanım
DisplayName False Üst bilgideki etkinlik tasarımcısının kolay görünen adını belirtir. Varsayılan değer ParallelForEach Int32'dir>.< Değer isteğe bağlı olarak Özellikler kılavuzunda veya doğrudan etkinlik tasarımcısı üst bilgisinde düzenlenebilir.
Body False Koleksiyondaki her öğe için yürütülecek etkinlik. Etkinliği eklemek Body için araç kutusundan ParallelForEach<T> etkinlik tasarımcısındaki Gövde kutusuna "Etkinliği Buraya Bırak" ipucu metniyle bir etkinlik bırakın.
TypeArgument True T genel parametresi tarafından belirtilen koleksiyondaki Values öğelerin türü. TypeArgument varsayılan olarak Int32 olarak ayarlanır. ParallelForEach<T> etkinlik tasarımcısında T türünü değiştirmek için, Property Grid'deki TypeArgument birleşik giriş kutusunun değerini değiştirin.
Values True Yineleme için öğe koleksiyonu. ayarlamak Valuesiçin, ForEach<T> etkinlik tasarımcısındaki Değerler kutusuna "VB ifadesi girin" ipucu metnini içeren bir Visual Basic ifadesi yazın veya Özellikler penceresindeki Değerler kutusuna yazın.
CompletionCondition Her yineleme tamamlandıktan sonra değerlendirilir. True olarak değerlendirilirse, zamanlanan bekleyen yinelemeler iptal edilir. Bu özellik ayarlanmazsa, tüm zamanlanmış deyimler tamamlanıncaya kadar yürütülür.

Varsayılan olarak, döngü yineleyicisi öğe olarak adlandırılır. ParallelForEach<T> etkinlik tasarımcısındaki ForEach kutusunda yineleyici değişkeninin adını değiştirebilirsiniz. Döngü yineleyicisi, etkinliğin alt ParallelForEach<T> öğelerindeki ifadelerde kullanılabilir.

Ayrıca bkz.