我基本上已经完成了这个,但是当我运行应用程序时,它会在冻结之前过快地运行线程太多次。 希望让我的线程运行一次,暂停然后再次启动线程。
我试过了:
while (running.get()) {
Thread threadstart = new Thread()
{
public void run(){
try {
Thread.sleep(integerTime);
然后
threadstart.start();
最后。这是我的确切代码,只是取出了所有流程。
所有建议都表示赞赏。
答案 0 :(得分:3)
你正在新线程中睡觉 - 所以你的while循环将继续以非常快的速度生成新线程,每个将会睡眠。
为什么不创建具有循环的一个线程?
Thread thread = new Thread(new Runnable() {
@Override public void run() {
while (running.get()) {
try {
Thread.sleep(integerTime);
// Do work
}
}
}
};
thread.start();