c# - 在 C# 中进行线程工作的最佳方法是什么?

标签 c# .net multithreading

在 C# 中线程化工作(方法)的最佳方式是什么?

例如:

假设我有一个表单并想从数据库加载数据。

My form controls: 
 - dataGridView (to show data from DB), 
 - label (loading status) and 
 - button (start loading).

当我单击按钮时,我的表单将被卡住,直到任务完成。在任务完成之前,加载状态也不会改变。我认为异步线程会是答案?

所以我的问题是:处理此问题的最佳方法是什么?我知道有很多关于线程的内容,但它们之间有什么区别以及如何使其线程安全?

你是如何解决这类问题的?

最好的问候。

最佳答案

如果使用 Windows 窗体,您应该查看 BackrgroundWorker .更一般地说,使用 ThreadPool 通常很有用。类(class)。最后,值得一看的是新的 .NET 4 Parallel。类。

关于c# - 在 C# 中进行线程工作的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1779035/

相关文章:

c# - 如果我在整个运行过程中都需要一次性用品怎么办?

php - linux上的多线程问题

c# - Avalon 中的 BraceFolding 编辑

c# - 在 Windows Phone 8 中同时播放两个音频文件的最佳方式

c# - 如何阻止变量重置

qt - Qt 创建了多少个线程在后台工作?

c# - 无法读取超出流末尾的内容

c# - 使用 FCM(Firebase 云消息传递)通过 C# 向 Android 发送推送

c# - 在VS2013中重命名生成的DLL文件

.net - 在 C++ .net4 中使用和不使用调试器的不同代码行为