林製造的Windows Mobile應用程序,我想知道我怎麼去這樣做後臺處理(即線程)我該怎麼做後臺處理,在Windows Mobile 6
有一種特殊的方式與Windows Mobile做到這一點?
從您的答案和評論看起來最好的方法是使用.NET線程類。我想我在這裏預計太多了......
林製造的Windows Mobile應用程序,我想知道我怎麼去這樣做後臺處理(即線程)我該怎麼做後臺處理,在Windows Mobile 6
有一種特殊的方式與Windows Mobile做到這一點?
從您的答案和評論看起來最好的方法是使用.NET線程類。我想我在這裏預計太多了......
您需要區分進程和線程。如果你在一個.NET進程中創建一個新的線程,它將使用相同的過程...但這不同於使用原始線程。
請詳細描述「似乎無法正常工作」的「內置.NET類」 - 我的懷疑是您要麼沒有正確使用它,要麼有不正確的期望。根據我的經驗,在.NET CF項目中使用後臺線程可以正常工作。
葉,我的這個問題的措辭是非常糟糕的... 很多,我希望我的應用程序在後臺執行一些操作(即讀取文件),而不是放慢UI,如果這樣做更有意義? – dkarzon 2010-05-04 11:55:46
@ d1k_is:是的,所以你可以像使用普通的.NET一樣使用後臺線程。你需要回到UI線程來更新它。現在,請編輯您的問題,以說明您的正常.NET類不能正常工作的意思......理想地使用代碼。 – 2010-05-04 11:58:28
在一個控制檯應用程序使用下面的代碼,我得到兩個不同的線程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");
}
即使在模擬器上。你可以看看你的模擬器是否屬於這種情況。
重複多次,請參閱http://stackoverflow.com/questions/1323596/net-compact-fw-3-5-background-worker – 2010-05-04 11:57:55