jit*_*dra 0 java database multithreading synchronized
我在Java中实现了以下实现,我尝试使用synchronized方法:
class dbAccess{
public synchronized void getGUID(){
counter=/*Access last count from txn_counter table */
/*Insert a unique value to txn_counter table based on the acquired value of counter */
/*Insert new counter value to GUID_log table */
}
}
Run Code Online (Sandbox Code Playgroud)
/**/之间的部分代表一些sql查询.该实现有10个线程.我希望每次返回的计数器值都是唯一的.但碰巧多次运行会返回相同的计数器值.
如果我做错了,你能指出吗?而且,这是正确的方法吗?
仅仅因为它在java中是同步的,并不意味着它在数据库上是同步的.此方法需要在启用了读锁定的数据库事务中运行.
| 归档时间: |
|
| 查看次数: |
1612 次 |
| 最近记录: |