c# 多线程连接数据库A(mssql2008)每个线程都往一个表里添加记录。 求解决方法。求思路 安案 都行。

最好给几段代码... 最好给几段代码 展开
 我来答
明桖瑶gr
2012-01-22 · TA获得超过1205个赞
知道小有建树答主
回答量:397
采纳率:100%
帮助的人:657万
展开全部
你问题描述不清楚,那里出问题了?还是不会多线程?还是多线程报错?想别人问题之前自己要先整理出清晰的描述问题的思路,否则很难得到满意的答案哦~~~

创建线程不用多说,我想你肯定知道。
执行插入操作,无非就是在线程中执行 INSERT 语句而已。

注意事项及要点:
1)最好不要多根线程共享一个 Connection 连接对象,否则极可能报错。
2)如果必须多根线程共用一个 Connection 连接对象,必须设置互斥锁。
针对1:在线程方法中创建 Connection 对象,并执行 INSERT 语句。
针对2:用 lock 关键字锁住注资源(如:lock(connection){ 执行 INSERT 语句的代码 })

注1:Connection 对象,不支持多线程并发,因此两个或以上线程同时使用 Connection 对象会发生错误。
注2:利用 lock 关键字的例子,其实就是利用互斥锁保证在某个时间片中,只有一根线程访问连接对象。
追问
(如:lock(connection){ 执行 INSERT 语句的代码 })

这个地方不明白。有案例代码啥的吗?
email :xb5186@163.com
追答
// 一次仅允许一根线程进入 lock 语句块,从而防止多根线程同时访问连接对象
lock(connection)
{
// 数据库操作代码
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式