在PowerShell中,并行多次运行相同任务,可以使用多线程来实现。下面是一个示例代码:
$taskCount = 5 # 要运行的任务数量
$scriptBlock = {
# 这里是需要执行的任务代码
Start-Sleep -Seconds 5
Get-Process | Select-Object Name, CPU
}
$threads = @()
# 创建并启动多个线程
for ($i = 1; $i -le $taskCount; $i++) {
$thread = [System.Threading.Thread]::new($scriptBlock)
$thread.Start()
$threads += $thread
}
# 等待所有线程执行完毕
foreach ($thread in $threads) {
$thread.Join()
}
以上代码中,首先定义了要运行的任务数量 $taskCount
,然后定义了要执行的任务代码 $scriptBlock
。在示例中,任务代码是一个简单的示例,即等待5秒钟后获取当前正在运行的进程列表。
接着,使用一个循环创建并启动多个线程,每个线程都执行相同的任务代码。
最后,使用另一个循环等待所有线程执行完毕,通过 $thread.Join()
方法来实现。
这样,就可以实现在PowerShell中并行多次运行相同任务的效果。