110,533
社区成员
发帖
与我相关
我的任务
分享
public static Dictionary<string, object> lockDic = new Dictionary<string, object>();
void CreateSN()
{
//每次只允许符合条件的数据,避免并发。
lock (lockDic[""])
{
//....
}
}
x = b + 1;
而另一个执行x = b - 1;
这仍然会产生数据结果的冲突(错乱)。
但是别忘记了,你的页面中的代码通常并不共享这样的变量(x和b)。
同时假设这里的x和b是指数据库中的数据,你如果使用关系数据库,通常关系数据库的事务保护级别是可以做到避免幻像读数据的。
然而,现在几乎所有高效率的NoSQL都不支持这类数据库事务,也就说完全可能产生错误的数据。可是这种方式非常流行,如果应对可能产生的错误,请你自己去网上找答案吧。