我怎樣才能做一個while循環,每秒做不凍結應用程序的東西?例如使用Thread.Sleep()凍結線程。有人知道嗎?無限雖然這不dlocking線程
0
A
回答
0
您沒有指定語言。 我會在C++中提供一個示例,這個概念在其他語言中應該是相似的。
首先,這將使主線程睡眠:
int main(int, char**)
{
while(true)
{
sleep(1); // Put current thread to sleep;
// do some work.
}
return 0;
}
這在另一方面將創建一個工作線程。主線程將保持活動狀態。
#include <iostream>
#include <thread>
void doWork()
{
while(true)
{
// Do some work;
sleep(1); // Rest
std::cout << "hi from worker." << std::endl;
}
}
int main(int, char**)
{
std::thread worker(&doWork);
std::cout << "hello from main thread, the worker thread is busy." << std::endl;
worker.join();
return 0;
}
該代碼未經測試。
剛剛經過測試,看到它在行動:http://ideone.com/aEVFi
需要C++ 11的線程。另外請注意,在上面的代碼中,主線程將無限等待連接,因爲工作線程永遠不會終止。
0
將您的循環和Thread.Sleep()放入工作線程中。
1
public class Test implements Runnable {
@Override
public void run() {
while(true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Your Statement goes here
}
}
public static void main(String[] args) {
Test test= new Test();
Thread t= new Thread(test);
t.start();
}
}
相關問題
- 1. 無限雖然循環不工作C++
- 2. Python線程'雖然'不行爲
- 3. PHP雖然循環是無限的
- 4. 雖然語句無限重複
- 5. lowlevellock和無限雖然循環
- 6. 雖然循環陷入無限循環
- 7. PHP無限雖然循環終止
- 8. 雖然循環進入無限循環
- 9. 雖然(file_object)造成無限循環
- 10. 統一:無限雖然循環在協程
- 11. 雖然內雖然從不同MySQL表
- 12. 雖然循環不繪與love.graphics.line新線
- 13. 雖然不是新的生產線
- 14. 雖然循環崩潰Unity,但不是無限的
- 15. 雖然閱讀grep線
- 16. 雖然開始一個新線程後循環不繼續(python)
- 17. 無限線程java
- 18. 雖然循環不等待用戶輸入(雖然數據類型無效)
- 19. 藍牙雖然不在應用程序
- 20. C編程雖然循環不工作
- 21. 限制數據庫訪問雖然PHP
- 22. Laravel 4無限斜線仍然有效
- 23. 無限循環(雖然)和使能控制MS Access窗體2003
- 24. SQL雖然循環陷入無限循環
- 25. 雖然陳述卡在python的無限循環
- 26. 雖然在JavaScript中的循環,陷入無限循環
- 27. 雖然循環與.hasNext條件無限運行
- 28. 停止Python中的無限循環雖然語句
- 29. 雖然HasMorePages爲false,但Silverlight:PrintPage無限循環
- 30. 雖然授予了權限,但無法檢索用戶照片
哪種語言? – Cdeez
如果您從主線程調用睡眠,它將停止主線程。你需要創建另一個線程來完成工作。 – anio