将UI线程与在另一个线程上调用的方法同步

时间:2012-02-29 06:29:44

标签: c# multithreading synchronization

我有一个可以在离线/在线模式下工作的应用程序。当它从离线模式上线时,它会与服务器进行一些同步。同步在一个线程中完成,以使UI响应。

我的问题是每当我在离线模式下调用任何服务器函数说A()时。它会执行同步并将控制权返回给将开始执行A的主线程,这会导致数据同步中出现一些问题。

我必须等待线程完成,即从服务器同步,然后执行方法A()。我怎样才能做到这一点。必须在线程上完成服务器的同步我无法将其移动到主线程中。

1 个答案:

答案 0 :(得分:0)

完成同步后,通知主线程它应该调用execute A.如果你正在使用WPF,请使用Dispatcher(每个UI线程都有一个)