线程不可能建议任何其他方法来进行并行处理

本文关键字:并行处理 方法 其他 不可能 任何 线程 | 更新日期: 2024-11-06 12:51:51

我在 C# 中的代码放在线程中不是线程安全的,因为它涉及大量数据库连接、存储过程执行。 但是我仍然想最大限度地减少执行所需的时间,任何人都可以建议我并行或异步处理的东西.. 数据库端或 .NET 端的任何内容......

我被线程困住了..无法应用...

谢谢

线程不可能建议任何其他方法来进行并行处理

您的问题中没有足够的信息来建议优化的解决方案。 但是,如果必须处理非线程安全的资源,一种策略是生成单独的进程来处理子任务。

但请记住,单独的流程仍然必须处理整体解决方案中不会相互踩踏的部分。

好吧。有几件事可以做.但是我不知道它到底有多适合你。

在数据库端,您可以进行查询优化,索引和其他可能有助于增加查询运行时间的事情。使用探查器分析 。请参阅查询计划以检查索引是否正确使用。

使用无锁

,但仅限于您看到可以在选择中使用无锁的地方。(并不总是一个好的做法,但被使用)

实现可以处理多个请求的正确同步线程。.Net Side没有其他方法。您必须正确检查您的设计。但是,您也可以使用探查器进行代码优化。您也可以使用任务库。

另一件事是您的服务器可能存在问题。检查 CPU 和内存利用率。(这是我最不关心的问题)。

你应该更好地解释你在代码中做什么......

如果你做了很多循环,你应该尝试 Parallel.For/Parallel.Foreach

http://msdn.microsoft.com/en-us/library/system.threading.tasks.parallel.aspx

在 Parallels 中,您还可以将任务排队以进行有序计算,或者将循环划分为可以提高整体性能的块......

我能说的最好的,信息如此之少。

希望对您有所帮助。