android中开启的循环线程

程序中有一个for循环语句调用线程:

if(toModify[j]==1) {
    getUpdate(methods_list[j],username, password); }

getUpdate 方法包含下面的代码:

new Thread(new Runnable() {
  public void run() {
      // *** some operations***
  }
}).start();

尽管对于cicle我可以同时运行每个线程,但是如果我想每个线程都是在前一个线程停止后再开启。我能使用下面的方法吗?

return 1;

使用上面的方法能让每个线程都是在前一个线程停止后再开启吗?


冉冉说
浏览 989回答 1
1回答

拉莫斯之舞

你可以使用 RetrantLockprivate final ReentrantLock lock = new ReentrantLock(); if(toModify[j]==1)           {          lock.lock();  // block until condition holds  try {    getUpdate(methods_list[j],username, password);           } finally {    lock.unlock()  } }你也需要在线程上调用 join(),这个方法是从 getUpdate()方法中开启的Thread thread = new Thread(new Runnable() {          public void run() {          // *** some operations***          }          });      thread.start();     thread.join();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java