【发布时间】:2011-08-03 23:34:05
【问题描述】:
这是我的问题:
我有一个包含以下列的表:ID、VALUE 和 SYNCHRONICED。最后一个是一个标志,指示自上次更新以来是否已将行发送到服务器。我正在运行一些可以访问数据库的线程
我的问题出现在那个用例中(有 2 个线程 T1 和 T2:
T1-->Start_Send-->Query_Values-->Send_to_server-->wait_answer-->sync=1_for_sent_rows
T2------------------------->Update_a_row_sent
此时 T1 已将 T2 更新的值标记为 sync=1。
有没有办法避免这个问题?
- 查询和更新的方法不同,所以不能在方法上使用同步。
- 如果 T2 被阻塞直到 T1 结束也没问题
谢谢
【问题讨论】:
-
您能否扩展一下
The methods for query and update are diferent so cant use synchronized at the method.我们希望他们有所不同,但您的意思是他们属于不同的班级吗?
标签: android sql sqlite thread-safety