为了账号安全,请及时绑定邮箱和手机立即绑定

android中开启的循环线程

android中开启的循环线程

冉冉说 2019-03-16 23:19:35
程序中有一个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;使用上面的方法能让每个线程都是在前一个线程停止后再开启吗?
查看完整描述

1 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

你可以使用 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();


查看完整回答
反对 回复 2019-04-29
  • 1 回答
  • 0 关注
  • 988 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号