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条回答 默认 最新

  • 嘴里都是栗子 2016-11-07 04:30
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料