【发布时间】:2020-04-01 23:29:17
【问题描述】:
我需要在 c# 中创建一个动态线程来执行我的数据表行。
例如:我在数据表中有 10000 行,所以我需要创建 10 个线程,每个线程一次将执行 1000 条记录。
如果我的表格行数会增加,那么线程创建也需要增加
通常,我们创建一个线程,它将执行整个 10000 条记录,我需要动态线程,这将以拆分格式执行我的 10000 条记录,这将提高我的应用程序性能。
如果我创建了 4 个线程来执行我的 10000 条记录,每个线程将执行 2500 条记录。
第一个线程将执行 0 到 2500 条记录 第二个线程将执行 2501 到 5000 条记录 第三个线程将执行 5001 到 7500 条记录 第 4 个线程将执行 75001 到 10000 条记录
对于上面的例子,我决定创建 4 个线程,我希望它应该是动态的方式
【问题讨论】:
-
请提供更多信息,也许发布一些您编写的代码示例?
-
这听起来很不寻常,也许您想要一个消息队列和基于队列长度的横向扩展?您能否分享更多有关您正在尝试解决的问题的信息
-
查看
Parallel.ForEach(),它会毫不费力地完成所有这些工作。 -
最佳线程数取决于您的 CPU,而不是数据的大小。
-
别那样做!
标签: c# asp.net .net multithreading thread-safety