.net开发中,为何将100多个任务放入线程池却只有一个线程顺序执行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net开发中,为何将100多个任务放入线程池却只有一个线程顺序执行相关的知识,希望对你有一定的参考价值。

文件夹中有100多个文件,想遍历然后给每个文件插入页眉,可是却是一个一个顺序执行

C#本身的线程是不按顺序执行的,问题可能是在你的insertHeader函数里,比如word是不是只允许一个进程等等,这个建议你在insertHeader的起始结束加上一些日志看看追问

现在就是一个线程操作一个word文档,我是想一下把这100多个文档处理完,可实际是一个一个处理

追答

你的代码是启动了100多个线程啊,你的意思是说,这100多个线程只有一个成功,其它的失败?
那你在insertHeader函数里增加try catch,看看出了什么异常

参考技术A 改为
Parallel.ForEach(
fileInfo,
(fInfo) =>
//处理语句,
insertHeader(.....);

);

试试。

以上是关于.net开发中,为何将100多个任务放入线程池却只有一个线程顺序执行的主要内容,如果未能解决你的问题,请参考以下文章

Python100天学习笔记Day13 进程和线程

.NET6下周发布真的香,可不少人却只会.NET Framework!

新手一看就懂的线程池

fork/Join 线程可以创建多个吗?

一走进多线程

任务在另一个线程 .NET 上异步运行