用户判重
来源:5-15 推广单元服务功能实现

syqocean
2019-03-04
如果多个线程同时对同一个用户名进行判重,假如其中一个线程已执行完数据库的insert操作,而另一个线程读取到insert之前的状态,依然进行insert操作,必然违反唯一约束。这样的操作线程安全吗?
写回答
1回答
-
张勤一
2019-03-04
同学你好:
你说的这种情况在单实例的情况下是不可能发生的。因为单实例对这里的操作不可能是起多个线程来操作的(所以,这并不是一个线程安全的问题)。对于多实例,如果某一方的操作过程卡住,那么,是有可能抛出唯一性约束异常的。这里使用 try catch 捕获异常,并给出保存出错的结果就可以了。
欢迎来 QQ 群随时交流、讨论,也非常感谢同学的支持!
192020-03-05
相似问题