qq_35023369
2016-11-04 05:07
采纳率: 16.7%
浏览 654

Android线程的一个问题....,请教大神!!

现在有若干子线程...
其中:
子线程1:每3s执行一次(执行SQL条件查询,并发送手机短信并接收广播);
子线程2:在发出短信成功的回执中被创建(执行SQL的update操作更新短信状态);
还有若干和子线程2类似的子线程..
现在的问题是,因为子线程1执行3s一次,然后子线程2创建,执行SQL后子线程1的条件查询的字段会相应的更新,而在线程1 3s循环执行SQL的时候线程2可能还没来得及更新,实际效果就是我在库里插入5条,结果发出去大于5条的短信,所以我想请教大神该怎么办呢?优先级试过了不管用,线程池的话因为除了线程1,其他线程都是线程1执行后创建的,所以也线程没管用,那我该怎么办呢?
想要达到的效果就是:线程1一直在3s循环,如果线程2或者其他线程出来了,那线程1先暂停,等2结束了在执行自己的3s循环,线程池应该是不好使的吧...,开关也试过不管用,唤醒应该也不行吧,因为我的线程1要保持3s循环,所以到底该怎么办啊,就大神救命!!!

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • Snowfish1994 2016-11-07 04:30

    个人理解 ,在线程1的循环里添加进行其他线程状态的判断,比如while(thread2.getState==TERMINATED){sleep(10000);}
    小白一枚,有错轻喷。。

    打赏 评论

相关推荐 更多相似问题