程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-android中開啟的循環線程

java-android中開啟的循環線程

編輯:編程綜合問答
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();
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved