直列
$job1 = Start-job -ScriptBlock {
Get-Service | out-null;
$ret=@{}
$ret.Add("status", "finish-job1");
return $ret;
}
$job2 = Start-job -ScriptBlock {
Get-Service | out-null;
$ret=@{}
$ret.Add("status", "finish-job2");
return $ret;
}
Get-Job | Wait-Job | Out-Null
$r1 = Receive-Job -Job $job1
$r2 = Receive-Job -Job $job2
Get-Job | Remove-Job
$result = "$($r1.status) / $($r2.status)"
Write-Host $result;
並列
$job = {
param(
[string] $arg1
)
Get-Service | out-null;
$ret=@{}
$ret.Add("status", "finish-$($arg1)");
return $ret;
}
$job1 = Start-Job -ScriptBlock $job -ArgumentList "job1"
$job2 = Start-Job -ScriptBlock $job -ArgumentList "job2"
$job3 = Start-Job -ScriptBlock $job -ArgumentList "job3"
Get-Job | Wait-Job | Out-Null
$r1 = Receive-Job -Job $job1
$r2 = Receive-Job -Job $job2
$r3 = Receive-Job -Job $job3
Get-Job | Remove-Job
$result = "$($r1.status) / $($r2.status) / $($r3.status)"
Write-Host $result;