Cabaran:
Bagaimanakah kita boleh mengurus sumber sistem dengan berkesan, terutamanya lebar jalur, apabila menggunakan Parallel.ForEach()
untuk memproses berbilang item secara serentak? Keselarian yang tidak terkawal boleh menyebabkan keletihan sumber.
Penyelesaian:
Kelas ParallelOptions
menawarkan mekanisme berkuasa untuk mengawal tahap selari dalam gelung Parallel.ForEach()
. Kuncinya ialah harta MaxDegreeOfParallelism
. Dengan menetapkan sifat ini, anda mengehadkan bilangan maksimum tugasan yang dijalankan serentak.
Contoh:
<code class="language-csharp">Parallel.ForEach( listOfWebpages, new ParallelOptions { MaxDegreeOfParallelism = 4 }, webpage => { Download(webpage); } );</code>
Dalam contoh ini, MaxDegreeOfParallelism = 4
memastikan bahawa maksimum empat muat turun berlaku serentak, mengelakkan sistem daripada terharu. Laraskan nilai ini berdasarkan keupayaan sistem anda dan sifat tugasan.
Bacaan Selanjutnya:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengawal Keselarian secara Parallel.ForEach() untuk Mengurus Sumber Sistem?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!