English 中文(简体)
多线同步的明显模式? (C#)
原标题:Correct pattern for multi-thread synchronization? (C#)

我有两条镜子,指相同的变数——电离层和透镜。 因此,我在两条路口的24小时发言中总结了接触情况。 时间接近具有优先权——如果它利用变数和天线也想要进入,那么我就希望天线的运行完成,而只是在时间已满之后。

然而,时间线可<> > /em>将时间范围交回国库,因此国库必须可以自由处理。 为了满足这一点,我已经准备就绪,准备进行第三版工作,以便它(第三版)能够等待时间操作完成,并且能够提供国库。 锁定发生在第三线。

在这种协调中,我应当采用什么正确的模式?

最佳回答

一般性建议是,关键部门发生的一切都应尽可能简单。 尤其是,你应避免lock锁。 Nest锁有可能成为僵局的根源。

至于你在座时所做的事情,你或许应该把关键部分与处理分开。 时间过后,电离层电离层器只能从共同变量中检索数据,然后是处理的其他部分,包括与电离层外的电离层流。

把第3版加到组合中,不会使你的生活更加容易。

问题回答

thumb规则是尽可能利用 时间。

http://www.moserware.com/2008/09/how-do-locks-lock.html” rel=“nofollow noretinger” http://www.moserware.com/ 2008/09/how-do-locks-lock.html。

下面的一项一般规则是,你将你24小时的时间减少到最低限度,你不把你自己掌握的手法和控制权(例如事件、虚拟方法或天线)放在锁上。

因此,时间人不应在关着24小时时退步。 如果在24小时(阅读、打电话、书写)下需要交易数据,则可能要进行回馈和(或)再统计。

同女用人一样,尽可能避免这种情况。 如果你不能避免,那么,我们就能够以同样的顺序在两条read子里走锁! 我指的是,如果你有三锁的A、B和C,如果你有锁定模式的话。

  • Thread 1: A->B->C
  • Thread 2: A->C->B

那么僵局是可能的......

Nest锁通常会带来效绩,因为你必须锁定外锁,即使你有时不需要确保在从另一条路面接通时采取正确的行为。

为什么你这样做? 它使情况复杂和错误容易发生。

什么时候了?

也许需要这样做,但我立即的反应是,你可能需要退步,考虑你的设计是否不必要地迫使你陷入复杂的同步问题。





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...