gpt4 book ai didi

c# - 锁定代码区域的正确方法是什么

转载 作者:太空狗 更新时间:2023-10-29 23:25:38 27 4
gpt4 key购买 nike

更好的是:
在 lock 语句中有较大的代码区域
或者
大面积小锁?..
此示例中的交换是不可更改的。

lock (padLock)
{
foreach (string ex in exchanges)
{
sub.Add(x.ID, new Subscription(ch, queue.QueueName, true));
.........
}

foreach (string ex in exchanges)
{
lock (padLock)
{
sub.Add(x.ID, new Subscription(ch, queue.QueueName, true));
}
.....

最佳答案

锁越宽——从多线程中获得的越少,反之亦然所以,锁的使用完全取决于逻辑。仅锁定发生变化且一次只能由一个线程运行的事物和地点

如果你锁定使用集合 sub - 使用较小的锁,但如果你同时运行多个 foreach 并行循环

关于c# - 锁定代码区域的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8645245/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com