我正在使用在我的安卓应用程序上管理我的数据库,它一直运行得很好。但有时,当我试图更新数据时,我会得到一个包含约束的异常。这个异常帮助我追踪到我调用的地方。table3Dao.callBatchTasks(table3task); // Exception here
因为这些任务实现了callable,所以我认为每个任务都运行在单独的线程上如果是这样,推荐的解决方法
1000 lines of code //some 1000 lines of code}
让我们假设有两个线程访问当处于访问method1()的中途时。现在,method2().When正在尝试访问t2,t1正在访问method2()。现在t2正在尝试访问method1().我的理解是,对于第一个问题,线程t2不会被授予权限,因为对象将被t1锁定。对于第二个问题,线程t2将被授予访问权,
be called by thread B所以我只想为counter获得一个很好的值,而不是在cpu缓存中的一个卡住值,因为变量是非易失性的。其目标是不使计数器易失性,这样它就不会影响执行增量的线程A,而只是在读取变量时只影响线程B (我不关心这个线程)。
为了记录在案,我计划在线程A已经完成时从线程B读取counter的值.