У меня есть базовый c скрипт для генерации Windows формы. В этом сценарии кнопка должна запускаться и работать. Чтобы предотвратить отставание, я хотел бы использовать несколько потоков.
После прочтения нескольких руководств я все еще не понимаю основы этого. Это моя функция для нажатия кнопки:
Function Click ()
{
Get-Job | Remove-Job
$MaximumThreads = 4
For ($i=0;$i -lt 5; $i++)
{
$ScriptBlock =
{
Write-Host "Job started!"
}
While ($(Get-Job -state running).count -ge $MaximumThreads)
{
Write-Host "Wait"
Start-Sleep -Seconds 1
}
Start-Job -ScriptBlock $ScriptBlock
}
Write-Host "All jobs complete!"
}
Я получаю такой вывод:
Wait
Wait
Wait
Wait
Wait
Wait
All jobs complete!
Cancel
Я ожидаю, что первые потоки начнут накапливаться до тех пор, пока не будет достигнут порог возникнет условие «Ожидание». Но создается впечатление, что Джобс вообще не запускается, и это заставляет меня поверить, что я упускаю что-то фундаментальное ...
Есть предложения? Спасибо!