主页 > 知识库 > PowerShell多线程执行前后台作业的例子

PowerShell多线程执行前后台作业的例子

热门标签:AI智能电销机器人坏处 如何申请400的电话呀 黑暗之魂3地图标注 电话机器人对家居行业帮助大吗 兰州电销机器人加盟 地图标注审核周期 电商外呼系统排名 合肥电销外呼系统供应商 沈阳ai电销智能机器人

下面例子使用Powershell线程运行了两个后台任务和一个前台任务,创建几个运行时间长点的任务,并且每个任务命令中添加使用Start-Sleep。

复制代码 代码如下:

$start = Get-Date

$task1 = { Start-Sleep -Seconds 4; Get-Service }
$task2 = { Start-Sleep -Seconds 5; Get-Service }
$task3 = { Start-Sleep -Seconds 3; Get-Service }

# run 2 in separate threads, 1 in the foreground
$thread1 = [PowerShell]::Create()
$job1 = $thread1.AddScript($task1).BeginInvoke()

$thread2 = [PowerShell]::Create()
$job2 = $thread2.AddScript($task2).BeginInvoke()

$result3 = Invoke-Command -ScriptBlock $task3

do { Start-Sleep -Milliseconds 100 } until ($job1.IsCompleted -and $job2.IsCompleted)

$result1 = $thread1.EndInvoke($job1)
$result2 = $thread2.EndInvoke($job2)

$thread1.Runspace.Close()
$thread1.Dispose()

$thread2.Runspace.Close()
$thread2.Dispose()

$end = Get-Date
Write-Host -ForegroundColor Red ($end - $start).TotalSeconds

相继执行这3个任务从Start-Sleep中看至少需要花费12秒。但是这个脚本仅执行了5秒多一点。其结果保存为$result1, $result2和$result3。与后台作业对比,它在返回大数据用时将差不多。

文章出处:http://www.pstips.net/

您可能感兴趣的文章:
  • Powershell后台作业、异步操作实例
  • PowerShell快速创建一个指定大小文件的实例分享
  • PowerShell 获取系统信息的函数

标签:河北 陇南 通辽 黔南 河池 淮南 常州 黔南

巨人网络通讯声明:本文标题《PowerShell多线程执行前后台作业的例子》,本文关键词  PowerShell,多,线程,执,行前,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《PowerShell多线程执行前后台作业的例子》相关的同类信息!
  • 本页收集关于PowerShell多线程执行前后台作业的例子的相关信息资讯供网民参考!
  • 推荐文章