2012-12-23 54 views
-3

我在我的主要功能如下代碼的應用程序:如何保持Windows應用程序在C#中存活?

變種計時器=新System.Threading.Timer(Callback_f,NULL, TimeSpan.Zero,TimeSpan.FromMinutes(srcInterval));

好吧,這確實可以工作,但只有當我把東西讓我的應用程序的生命是console.readkey()或無限while循環:

while (true) 
{ 

}. 

無限循環是不是我的選擇,因爲它太費時間耗時。事情是我不能使用console.readkey函數,因爲它是一個沒有窗體的Windows.forms應用程序。 (即當我將它作爲控制檯應用程序運行並在末尾使用console.readkey()方法時,它可以工作,但是我想避免顯示黑色窗口,它是一個沒有在後臺運行的接口的應用程序)。有什麼建議麼?

+0

你能在你想達到什麼樣的詳細點嗎?你可以使用Thread.Sleep(...)和Thread.Join(...)嗎? – Rune

+0

你需要記錄你打算如何終止你的程序。如果你不知道,那麼你可能應該考慮一項服務。 –

回答

0

嘗試使用方法Thread.Join();

+0

謝謝!對我來說似乎是一個體面的解決方案 – Dex

+0

@Dex:你正在啓動一個計時器,並在主線程上無所事事。爲什麼不讓主線程在無限循環中完成工作,而在任務之間執行'Sleep(srcInterval)'? –

+0

@Ed S.他不會太耗費CPU資源嗎? – Dex

相關問題