我有一個需要在for循環中嵌入背景睡眠的情況。 有沒有什麼辦法可以做到這一點沒有突破for循環的形狀?在Silverlight中,如何在不佔用線程的情況下讓程序休眠
for (;;)
{
Dosomething();
Thread.Sleep(5000); // this blocks the UI thread, hope to find someway to sleep in background
}
-------------編輯--------------
在DoSomething的(),有一定的UI線程操作像listBoxA.width + = 5(不含調度程序); 這裏的UI不會刷新,直到所有的循環結束。 我想使用睡眠的原因是我想看看每個Dosomething被執行的UI刷新,就像動畫一樣。
你應該更多地解釋你想達到什麼 - 你在做輪詢或消息循環嗎?您可以在後臺線程上運行整個循環,但在前臺(UI)線程中沒有任何背景睡眠的目的或邏輯。 – slugster
看到這個主題:http://stackoverflow.com/questions/2307929/what-is-the-c-equivalent-of-msgwaitformultipleobjects –