有没有办法在后台线程上调用方法?
我知道 BackgroundWorker/Creating a thread 或使用 ThreadPool.QueueUserWorkItem 等,但这不是我正在寻找的答案
例如,SCSF 具有确保在后台或 UI 线程上调用该方法的属性
我想为一个小应用程序做类似的事情,并正在寻找一个工作示例
有没有办法在后台线程上调用方法?
我知道 BackgroundWorker/Creating a thread 或使用 ThreadPool.QueueUserWorkItem 等,但这不是我正在寻找的答案
例如,SCSF 具有确保在后台或 UI 线程上调用该方法的属性
我想为一个小应用程序做类似的事情,并正在寻找一个工作示例
我认为BackgroundWorker将满足您的需求。它允许您在 Winform 应用程序的后台运行操作。这些文章有工作示例。:)
有很多方法可以在后台线程上调用方法。
您想在方法运行时阻塞吗?您想要从该方法返回的结果吗?您希望此结果显示在 UI 中吗?该方法是否只调用一次?多次,根据需要?循环多次?异步?如果您的应用退出,后台线程是否应该继续?这些问题的答案将告诉您应该使用哪种方法。
您可以从The Code Project 上的一篇精彩文章中了解各种线程消息传递方法。
线程池已经使用后台线程。但是,您无法控制这些线程。如果要控制,则需要使用 System.Threading.Thread。这使您可以更好地控制线程的创建方式(后台、前台等)和管理方式(挂起、恢复、睡眠等)。