如何在后台线程上调用

时间:2009-07-30 00:58:39

标签: c# winforms multithreading thread-safety switching

有没有办法在后台线程上调用方法?

我知道BackgroundWorker /创建一个线程或使用ThreadPool.QueueUserWorkItem等但这不是我要找的答案

例如SCSF具有确保在背景或UI线程上调用方法的属性

我想为一个小应用做类似的事情,我正在寻找一个有效的例子

3 个答案:

答案 0 :(得分:0)

我认为BackgroundWorker符合您的需求。它允许您在Winform应用程序中run an operation in the background。这些文章有实例。 :)

答案 1 :(得分:0)

有很多方法可以在后台线程上调用方法。

您想在方法运行时阻止吗?你想要从方法返回一个结果吗?您是否希望在UI中显示此结果?该方法只调用一次吗?很多时候,根据需要?循环多次?异步?如果你的应用程序退出,后台线程应该继续吗?这些问题的答案将告诉您应该使用哪种方法。

您可以在代码项目中从一个伟大的article获得各种线程消息传递方法的概述。

答案 2 :(得分:0)

线程池已经使用后台线程。但是,您无法控制这些线程。如果你想控制,那么你需要使用System.Threading.Thread。这使您可以更好地控制线程的创建方式(背景,前景等)和管理(暂停,恢复,休眠等)。