English 中文(简体)
关于从一物体中从深层扔下这些物体的问题
原标题:question about handling events from an object that throws them from threads

我有一个班子,即加工商册。 它有两个方法开始和停止使用。 当你开始点火时,它就在内部制造一只read子,做一些处理,如果发现某种相关的话,则会引发一场事件。

我的形式是frmMain(这是一个窗户,相当于3.5.net),是这一类别的一个例子,正在追捕这些事件。 每当一个事件发生时,就将一些事情列入数据库。 我在总结时认为,这一战略将确保同步插入? 我无法有多个线索试图进行数据操作,因为这将造成我失去数据。

最佳回答

没有,这些高标的都是同步的,特别是在多分机上。 我建议把一致处理放在你的数据库更新中,而不是回到单对面,或把某些物体锁上。 在数据库中,如果使用WHERE条款来核对与更新相同的旧价值,你就可以这样做。 如果结果插入零行,那么从数据腐败中节省下来的一致检查。

然而,如果你没有为您的业务规则发挥作用的再产业机制,那么你就有必要在你的数据库交易中添加一致的规格。 (即开启交易,将其附在你的指挥之下,并将交易额定在你所需要的安全水平。)

问题回答

该战略将而不是,以确保其全部发生于一线。 这些事件是在火上.着的。 您应使用静态锁定和锁定(24小时(目标){......})

P.S. 为何将多条线插入一个行文造成数据损失? 什么数据库?

在你希望相互排斥的法典部分上设一个锁。

public void InsertIntoDataBase()
{
   lock(

   // Insert something into database.

   )

}

对“IntoDataBase”职能的任何要求都将被搁置,直到24小时被拆除,并将按他们抵达的顺序执行该守则。

假设这些事件是同步发射的,操作者将向生产商的read开火。 这是否造成种族条件取决于基本数据库。

如果你必须确保不出现平行插入,那么你可以与锁定栏(}关键词同步。

我不敢肯定数据库的手稿为何以子类形式居住,但考虑到这样做,BeginInvoke(即控制)。 Begin Invoke也可用于同步。 然而,这是一种不良的做法。





相关问题
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. ...

热门标签