gpt4 book ai didi

c# - 在单独的线程中执行长时间操作是否安全?

转载 作者:行者123 更新时间:2023-12-03 03:13:10 25 4
gpt4 key购买 nike

我正在处理一个正在客户端导入的 CSV 文件。该 CSV 应该包含一些信息,这些信息将用于在我公司数据库的一个表中执行更新。我的 C# 函数处理该文件,查找错误,如果没有发现错误,它会发送一堆更新命令(文件通常从 50 行到 100000 行不等)。到目前为止,我在同一个线程中执行更新来执行更新(逐行),但速度有点慢,具体取决于文件,因此我选择将所有 SQL 发送到 Azure SQL 队列(其中是一项获取大量“消息”并针对数据库运行 SQL 代码的服务),这样客户端就不必等待太多时间来执行操作。它变得更快了一点,但仍然需要很长时间(由于对 Azure SQL 队列的请求)。因此,我注意到将该操作放在单独的线程中是有效的,并将所有 SQL 发送到我的 Azure SQL 队列。

不过我还是有点担心。在单独的线程中执行长时间操作真的安全吗?可靠吗?

最佳答案

第二个线程与您习惯使用的主线程 100% 相似。我希望我手头有一些权威答案,但这是一种常见的做法,人们不再写这些......

所以,是的,将工作卸载到第二个线程是安全的,并且可以被大多数人认为是推荐的方法。

编辑 1
好吧,如果你的线程在 IIS 上运行,你需要注册它,否则它就会死掉,因为一旦请求/响应周期完成,它就会杀死它......

关于c# - 在单独的线程中执行长时间操作是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34275146/

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