gpt4 book ai didi

c# - 线程卡在 MySqlCommand.ExecuteNonQuery() 中

转载 作者:太空宇宙 更新时间:2023-11-03 10:30:02 25 4
gpt4 key购买 nike

我想并行调用一个方法。在这种方法中,我计算了一些值(非常快)并将该计算值写入数据库表。

因此我使用线程池

ThreadPool.QueueUserWorkItem((state) => {
method();
});

经过一段时间的计算(不确定,发生这种情况的时间各不相同,有时是几分钟后,有时是几个小时后)线程池已满,但不是 method() 的线程而是我的线程调用 MySqlCommand.ExecuteNonQuery 的 mysql 类。

有谁知道如何避免这种情况?在 mysql 类的文档中,我发现您无法终止正在执行的查询,但如何避免此类问题?

最佳答案

您是否需要在计算出所有值后将所有值写入数据库,或者您是否可以等到有了一些值,然后在插入大量值的地方进行批量更新?

如果所有线程同时尝试写入同一个表,您可能会在这里遇到锁定问题。所以尽量把数字存到本地,然后大批量提交

关于c# - 线程卡在 MySqlCommand.ExecuteNonQuery() 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1466340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com