- 帖子
- 1013
- 积分
- 1228
- 技术
- 14
- 捐助
- 0
- 注册时间
- 2019-2-20
|
[问题求助] 请教PowerShell使用多线程模块执行命令
对多线程有点好奇, 大概意思应该就是同一时间做多件事吧, 百度搜索到一篇文章, 里面的作者制作了一个多线程模块,
文章链接:
https://www.cnblogs.com/chenxizhang/p/6936666.html
原码链接:
https://github.com/chenxizhang/MultiThreadTaskRunner
使用方法也写的很清楚, 如下:
第1步: 需要进行安装(请用管理员身份打开PowerSehll)
Install-Module -Name MultiThreadTaskRunner
第2步: 准备一个用来测试的脚本块
$script ={
param($obj);
Write-Host $obj
}
请注意,这里只是用最简单的代码做了实现,根据传入的一个参数,输出数据
第3步: 就可以进行快速使用了
New-MultiTaskJob –Source 1..100 –Block $script –ThreadCount 10
这个命令的意思是指,用10个并行的线程,处理传入的100个数字,实际上每个线程分配得到的数字是10个,然后使用此前定义好的脚本块执行它
-----------------------------------------------------------------------------------------------------
我按上面的步骤操作下来, 把下面的代码执行后, 直接报错! 感觉是不是需要给$script 加点东西? 不是太懂, 期待高手能做个示例, 提前感谢!
$script = {
param ($obj);
Write-Host $obj
}
New-MultiTaskJob -Source 1..100 -Block $script -ThreadCount 10 |
|