c# - Linq to Sql DataContext 线程安全
问题描述
代码:
using (var db = new TestDataContext(connectionString))
{
var result = db.usp_Update_TestTable(id, state);
}
更新存储过程usp_Update_TestTable
非常简单,它只是更新TestTable
.
问题:
我想了解是否有多个线程正在运行,并且线程 A 开始更新表,同时线程 B 调用相同的方法。会发生什么。
- 线程 B 会等待线程 A 完成它的操作吗?
- 线程 B 将尝试更新并失败,因为线程 A 仍在执行其工作。因此超时?
- 线程B和线程A会死锁吗?
如果选项 3 是答案,有没有办法让这个操作线程安全?
谢谢。
解决方案
嗨,这里是链接https://dzone.com/articles/parallel-sql-c这里它解释了使用任务库通过并行编程实现线程安全,当然 async/waits 也适用于这种情况。
推荐阅读
- weblogic12c - 是否可以在 Apple M1 计算机上安装 Weblogic 12.2.1.4?
- r - NA 在 R 中的 pivot_wider 之后
- json - 我无法用 gson 解析 JSON
- javascript - 无法在 RxJS 中使用计时器完成比赛
- python - 计算与栅格像素重叠的特征数
- dot - 设置箭头和标签之间的距离
- mysql - SELECT 子句中的 SQL 子查询
- unity3d - (Unity2D)如何禁用不在视口中的对象并增加容差?并在可见时重新启用
- java - 单击底部导航视图时数据重置
- docker - 在 docker 容器中打开 RStudio