我怎样才能做一个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