首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在thread.Start()完成后回调?

在thread.Start()完成后回调?
EN

Stack Overflow用户
提问于 2011-02-02 11:58:06
回答 1查看 1.6K关注 0票数 0

我有个小问题

我有一个WPF应用程序,其中一种方法需要一些时间(它通过WCF服务发送信息)。我想在另一个线程中这样做,而不是GUI线程。

问题是:

GUI请求服务,服务请求数据存储,它提供了一个新的事务管理器,它与WCF服务进行通信。

数据存储对象以GUI线程作为所有者。

我想,在交易经理里,做这样的事情:

代码语言:javascript
代码运行次数:0
运行
复制
public void MyMethod(abcdef){
//Income with the GUI thread
//Launch a thread with my action which tooks times
//update my objects with the result(Has to be done with the GUI thread)

但是这里没有GUI元素,可以在上面执行XYZ.Dispatch、Invoke或BeginInvoke。但是,当我开始时,我知道GUI线程引用。问题是,我将有线程所有者异常。

我有一些限制:

  • I不能有一个GUI对象在这里执行
  • ,我不能设置数据存储有非GUI数据存储
  • ,我需要这个调用是非阻塞的
  • ,我需要非GUI线程

f 210的结果。

你知道怎么做吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-02 12:01:09

. 使用

使用该方法,您可以使用参数执行在GUI线程上执行的函数。将WPF窗口的Dispatcher属性传递给后台工作人员,并使用该实例的BeginInvoke方法进行通信。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4874189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档