hold代码在java中的执行(在循环中)

lymgl2op  于 2021-07-09  发布在  Java
关注(0)|答案(3)|浏览(230)

在斯威夫特我怎么能睡成圈?

int userI = 0; 
for (userI = 0; userI < users.size()/10; userI++ ) { 
  // do something 
  // Wait for 5 seconds.
}

我已经很熟悉了:

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
  @Override
  public void run() {
    //Do something after 100ms
  }
}, 100);

但我不这么认为,在这种情况下,它将不会有帮助,因为我不想启动一个函数后,我只想等待或等待,直到一个循环周期完成。

vbkedwbf

vbkedwbf1#

你可以用

Thread.sleep(5000);

如果你想在一些单独的线程上停止和启动,你也可以使用“wait”

6ioyuze2

6ioyuze22#

我要像那样编辑你的逻辑。。。。。

int userI = 0; //users is an array
    for (userI = 0; userI < users.size()/10; userI++ ) { 

    /// do something in this loop 
    //// and after its done i wanna wait or hold for 5 seconds until loop again starts 
}
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
  @Override
   public void run() {
     // Don't do anything
  }
}, 5000); 

//Do you login here

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
   int userI = 0; //users is an array
      for (userI = 0; userI < users.size()/10; userI++ ) { 

      /// do something in this loop 
      //// and after its done i wanna wait or hold for 5 seconds until loop again starts 
    }     
  }
}, 5000); 

// your logic after wait...

或者你可以试试 Thread.sleep(4000); 像这样进入你的循环

int userI = 0; //users is an array
      for (userI = 0; userI < users.size()/10; userI++ ) { 

      /// do something in this loop 
      Thread.sleep(4000); //4 sec
    }
ax6ht2ek

ax6ht2ek3#

当你想睡几分钟的时候,可以使用thread.sleep()

int userI = 0; //users is an array
int sleepSeconds =5000; 
for (userI = 0; userI < users.size()/10; userI++ ) { 

/// do something in this loop 
//// and after its done i wanna wait or hold for 5 seconds until loop again starts 

Thread.sleep(sleepSeconds);
}

相关问题