社区
C#
帖子详情
连接是静态的,在多线程的时候,用到事务的情况下,需不需要加锁
habao
2005-04-10 01:33:07
有个问题想问一下大家:
static SqlConnection myConn;
...
SqlTransation myTran = myConn.BeginTransaction;
...
连接是静态的,那么在多线程的时候,用到事务(当然是有可能需要回滚的)的情况下,需不需要加锁什么的?
...全文
142
7
打赏
收藏
连接是静态的,在多线程的时候,用到事务的情况下,需不需要加锁
有个问题想问一下大家: static SqlConnection myConn; ... SqlTransation myTran = myConn.BeginTransaction; ... 连接是静态的,那么在多线程的时候,用到事务(当然是有可能需要回滚的)的情况下,需不需要加锁什么的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
晨星
2005-04-10
打赏
举报
回复
To:mmqingfeng(漠漠青峰)
问题是搂住说连接是静态的,俺的理解就是是各个线程共享的。
其实搂住也真无聊,让每个线程至少拥有一个数据库连接不就啥也结了?
当然,如果线程太多,那就考虑连接池。
所以,这里实际上连接的共享问题,细想,即使不启动事务,最好也还是不要在线程之间共享连接连接,要么就加锁。
S.F.
2005-04-10
打赏
举报
回复
需要;因为是对同一公共引用操作;除非你搞为非静态的并且是局部的。
mmqingfeng
2005-04-10
打赏
举报
回复
个人认为不需要。
举个例子,WebApplication都是由一个WebServer控制的,对于每一个用户都创建一个新的进程,
而每个用户进程都会进行各种操作,当然也有事务处理,
而在开发的时候,并不需要你对这些事务处理进行特别的lock。
对于多线程安全,我认为主要是针对非readonly的static类型数据,
这种数据在多线程的时候可能会出现一个线程在读,另一个线程在写,
从而出现问题。
如有不对的地方,大家继续批~~
lovvver
2005-04-10
打赏
举报
回复
同意楼上们的观点。
jackymi
2005-04-10
打赏
举报
回复
多线程肯定要lock
晨星
2005-04-10
打赏
举报
回复
当然需要,不信你试试,当两个线程同时要启动事务的时候,必然出严重问题。
habao
2005-04-10
打赏
举报
回复
up
【Java
多线程
】
多线程
带来的的风险-线程安全、
多线程
五个经典案例
日常开发中如果
用到
多线程
编程,也一定会涉及到线程安全问题 线程安全这个问题就不太好理解 正因为如此,程序猿们才尝试发明出更多的编程模型来处理并发编程的任务 例如:多进程、
多线程
、actor、csp、async+await、...
多线程
常见问题及分析
1、
多线程
的并发性和
多线程
介绍:在过去单CPU时代,单任务在一个时间点只能执行单一程序。之后发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进程。虽然并不是真正意义上的“同一时间点”,而是多个任务...
Java
多线程
面试题
sleep 方法: 是 Thread 类的
静态
方法,当前线程将睡眠 n 毫秒,线程进入阻塞状态。当睡眠时间到了,会解除阻塞,进行可运行状态,等待 CPU 的到来。睡眠不释放锁(如果有的话); wait 方法: 是 Object 的方法...
【Java
多线程
】成神之路中必须要了解的锁分类
可重入锁/不可重入锁3.独享锁/共享锁4.互斥锁/读写锁5.乐观锁/悲观锁6.分段锁7.偏向锁/轻量级锁/重量级锁8.自旋锁8.1.简单了解一下CAS算法?CAS的问题8.2.什么是自旋锁?8.3.Java如何实现自旋锁?8.4.自旋锁存在的...
多线程
与并发
推荐《Java高并发编程详解:
多线程
与架构设计》 推荐《Java高并发编程详解:深入理解并发核心库》 有很多工具的基准测试 同步和异步 所谓同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的...
C#
110,530
社区成员
642,572
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章