Saya memiliki skrip PowerShell untuk melakukan pemrosesan batch pada sekumpulan gambar dan saya ingin melakukan pemrosesan paralel. Powershell tampaknya memiliki beberapa opsi pemrosesan latar belakang seperti start-job, wait-job, dll, tetapi satu-satunya sumber daya bagus yang saya temukan untuk melakukan pekerjaan paralel adalah menulis teks skrip dan menjalankannya ( PowerShell Multithreading )
Idealnya, saya ingin sesuatu yang mirip dengan parallel foreach di .net 4.
Sesuatu yang sangat tidak terlihat seperti:
foreach-parallel -threads 4 ($file in (Get-ChildItem $dir))
{
.. Do Work
}
Mungkin lebih baik aku turun ke c # ...
(get-job $a).jobstateinfo.state;
receive-job (wait-job ($a = start-job { "heyo!" })); remove-job $a
atau$a = start-job { "heyo!" }; wait-job $a; receive-job $a; remove-job $a
Perhatikan juga bahwa jika Anda meneleponreceive-job
sebelum pekerjaan selesai, Anda mungkin tidak mendapatkan apa-apa.