小编mar*_*jne的帖子

HOLDLOCK对UPDLOCK有什么影响?

我已经看到很多HOLDLOCK提示与UPDLOCK结合使用的例子(像这样).但是Microsoft的这些提示的文档使得看起来HOLDLOCK应该是多余的,因为UPDLOCK已经持续锁定直到事务结束.(似乎也说HOLDLOCK只适用于共享锁.)

如果有的话,HOLDLOCK如何影响查询?

t-sql sql-server locking

30
推荐指数
2
解决办法
4万
查看次数

如何从64位.NET应用程序中打开WOW64注册表项

我的.NET应用程序(任何CPU)需要读取由32位程序创建的注册表值.在64位Windows上,这是在注册表中的Wow6432Node键下.我已经读过你不应该硬编码到Wow6432Node,那么用.NET访问它的正确方法是什么?

.net registry wow64

29
推荐指数
4
解决办法
3万
查看次数

转发/转发.NET事件

我的类有一个外部对象将订阅的事件:

public event EventHandler<MessageReceivedEventArgs> MessageReceived;
Run Code Online (Sandbox Code Playgroud)

但是,在其自己的线程上运行的内部Listener对象实际上将发起该事件.

private class Listener
{
    public void Run()
    {
         // events raised here which should be forwarded
         // to parent's MessageReceived
    }
};
Run Code Online (Sandbox Code Playgroud)

我倾向于在Listener上创建一个具有相同签名的事件,并在主类中订阅它以便在MessageReceived上引发它.这看起来有点麻烦,所以我想知道是否有一种简洁/惯用的方式来转发这样的事件.

.net c# events

7
推荐指数
1
解决办法
3722
查看次数

相互排斥:这样安全吗?

这种相互排斥的模式是否像我认为的那样安全?如果是这样,你怎么称呼它?

lock (_lock) {
    if (_flag) return;
    else _flag = true;
}
try {
    //critical code...
}
finally {
    _flag = false;
}
Run Code Online (Sandbox Code Playgroud)

我想确保关键部分,但没有其他线程堆积等待获取锁定.显然,我确保标志设置在其他地方.有没有更好的办法?

.net c# multithreading mutual-exclusion

1
推荐指数
2
解决办法
1548
查看次数