2010-05-04 21 views
0

林制造的Windows Mobile应用程序,我想知道我怎么去这样做后台处理(即线程)我该怎么做后台处理,在Windows Mobile 6

有一种特殊的方式与Windows Mobile做到这一点?

从您的答案和评论看起来最好的方法是使用.NET线程类。我想我在这里预计太多了......

+0

重复多次,请参阅http://stackoverflow.com/questions/1323596/net-compact-fw-3-5-background-worker – 2010-05-04 11:57:55

回答

1

您需要区分进程线程。如果你在一个.NET进程中创建一个新的线程,它使用相同的过程...但这不同于使用原始线程

请详细描述“似乎无法正常工作”的“内置.NET类” - 我的怀疑是您要么没有正确使用它,要么有不正确的期望。根据我的经验,在.NET CF项目中使用后台线程可以正常工作。

+0

叶,我的这个问题的措辞是非常糟糕的... 很多,我希望我的应用程序在后台执行一些操作(即读取文件),而不是放慢UI,如果这样做更有意义? – dkarzon 2010-05-04 11:55:46

+1

@ d1k_is:是的,所以你可以像使用普通的.NET一样使用后台线程。你需要回到UI线程来更新它。现在,请编辑您的问题,以说明您的正常.NET类不能正常工作的意思......理想地使用代码。 – 2010-05-04 11:58:28

1

在一个控制台应用程序使用下面的代码,我得到两个不同的线程id的(和调试很明显,它们同时运行):

static void Main(string[] args) 
    { 
     new Thread(new ThreadStart(ThreadMethod)).Start(); 
     Console.WriteLine("Thread " + Thread.CurrentThread.ManagedThreadId + " has control"); 
     Console.ReadLine(); 
    } 

    static void ThreadMethod() 
    { 
     Console.WriteLine("Thread " + Thread.CurrentThread.ManagedThreadId + " has control"); 
    } 

即使在模拟器上。你可以看看你的模拟器是否属于这种情况。