现在有若干子线程...
其中:
子线程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循环,所以到底该怎么办啊,就大神救命!!!
Android线程的一个问题....,请教大神!!
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 嘴里都是栗子 2016-11-07 04:30关注
个人理解 ,在线程1的循环里添加进行其他线程状态的判断,比如while(thread2.getState==TERMINATED){sleep(10000);}
小白一枚,有错轻喷。。解决 无用评论 打赏 举报