java关于并发查询数据库的问题

java关于并发查询数据库的问题

问题如下

1,从数据库查询2条数据

2,循环2条数据请求第三方接口(耗时)(每条数据只能请求3次第三方接口)

3,请求成功则修改该条数据(请求第三方的次数+1)。

现在的问题是
    并发情况下,两个线程同时进来,取到2条数据(已经请求过第三方接口两次)
    这时候两个线程同时再去请求第三方接口,得到的结果就只会有一个成功。因为另一个已经达到3次了。
    这种问题应该怎么解决???

为每个线程设定自己的私有空间变量,每次执行之后加1,私有变量,也就是不需要加volatile关键词