我怎么知道线程何时结束.Net Compact Framework?

时间:2009-11-30 17:57:22

标签: c# compact-framework multithreading

我正在使用 .Net Compact Framework 2.0 SP 2和 C#开发 Windows Mobile 5.0及以上版本应用程序。

我怎么知道线程何时结束?

这是我的代码:

System.Threading.Thread thread1 =
    new System.Threading.Thread(() => RetreiveSoMuchData(ID));
thread1.Start();

谢谢。

2 个答案:

答案 0 :(得分:3)

您需要获取该主题:

  • 发生某人的事件 听
  • 设置其他人的值 正在检查
  • 设置等待事件 另一个线程正在等待(例如AutoResetEvent或ManualResetEvent)
  • 返回 在无限的join()命令上(on 那个线程)

不幸的是,这些都没有留下线程或者没有引入其他线程,但这是多线程的乐趣。我一般都会去自己开一个活动。完整框架中的BackgroundWorker对象执行此操作但很遗憾在CF中不可用,因此您必须自己编写(也许为Thread类编写一个包装器,为您执行此操作)。

答案 1 :(得分:1)

由于你正在产生自己的线程,所以只要RetrieveSoMuchData(..)完成,线程就会终止。

您可以使用EventWaitHandle通知自己,例如AutoResetEvent