博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
发布支持多线程的PowerShell模块 —— MultiThreadTaskRunner
阅读量:5266 次
发布时间:2019-06-14

本文共 675 字,大约阅读时间需要 2 分钟。

应用场景

多线程在需要批量处理一些任务的时候相当有用,也更加有利于充分利用现有计算机的能力。所有主流的开发语言都支持多线程。

默认情况下,PowerShell作为一个脚本语言,是不支持多线程操作的,虽然有所谓的后台任务,但实际上控制起来相当麻烦。

 

解决方案

我很喜欢PowerShell,所以为此专门写了一个自定义的模块,来实现多线程的功能。该模块使用C#编写,源代码可以在下面的地址访问到

 

与此同时,这个模块已经打包发布到微软官方的PowerShell Gallery中

 

如何使用

要使用该模块,首先需要进行安装(请用管理员身份打开PowerSehll)

Install-Module -Name MultiThreadTaskRunner

 
接下来,准备一个用来测试的脚本块

$script ={

param($obj);

Write-Host $obj

}

请注意,这里只是用最简单的代码做了实现,根据传入的一个参数,输出数据

 

第三步,就可以进行快速使用了

New-MultiTaskJob –Source 1..100 –Block $script –ThreadCount 10

这个命令的意思是指,用10个并行的线程,处理传入的100个数字,实际上每个线程分配得到的数字是10个,然后使用此前定义好的脚本块执行它

请注意,你可以看到此时输出的结果并不是按照1到100的顺序进行,这个可以证明实际上这些数字是被不同的线程进行处理的。

转载于:https://www.cnblogs.com/chenxizhang/p/6936666.html

你可能感兴趣的文章
Vue.2.0.5-计算属性
查看>>
哈希表(链地址法插入删除)
查看>>
jmeter 分布式压测
查看>>
shell编写一键启动
查看>>
好记性不如烂笔头之 ——CP命令
查看>>
jQuery
查看>>
share团队冲刺6
查看>>
python中的线程
查看>>
XSS
查看>>
Windows 8让程序员们忧心忡忡
查看>>
st. from summer (持续更新&刷题记录)
查看>>
之前项目使用的轻量的goweb框架
查看>>
peewee 对 mysql 类型支持问题,并不支持bit
查看>>
suse系统卸载数据库实例
查看>>
java8--List排序
查看>>
5、用python写一个自己的网页
查看>>
转 ABAP中USING与CHANGING的用法
查看>>
图片滑动
查看>>
笔试题汇总
查看>>
pycharm快捷键及一些常用设置
查看>>