发布支持多线程的PowerShell模块 —— MultiThreadTaskRunner
应用场景
多线程在需要批量处理一些任务的时候相当有用,也更加有利于充分利用现有计算机的能力。所有主流的开发语言都支持多线程。
默认情况下,PowerShell作为一个脚本语言,是不支持多线程操作的,虽然有所谓的后台任务,但实际上控制起来相当麻烦。
解决方案
我很喜欢PowerShell,所以为此专门写了一个自定义的模块,来实现多线程的功能。该模块使用C#编写,源代码可以在下面的地址访问到
https://github.com/chenxizhang/MultiThreadTaskRunner
与此同时,这个模块已经打包发布到微软官方的PowerShell Gallery中
https://www.powershellgallery.com/packages/MultiThreadTaskRunner/1.0
如何使用
要使用该模块,首先需要进行安装(请用管理员身份打开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的顺序进行,这个可以证明实际上这些数字是被不同的线程进行处理的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
2009-06-03 读取AD信息的例子
2009-06-03 动态通过js脚本构造html页面
2009-06-03 有关网络地址的解析图例
2009-06-03 使用thead,tbody,tfoot来实现表格的分页打印
2009-06-03 关于 Web 测试中的 JavaScript 和 ActiveX 控件 【转载】
2009-06-03 去除迅雷5.9主界面广告
2009-06-03 如何控制浏览器打印效果