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;

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

你可以使用 RetrantLock

private 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();