English 中文(简体)
C# 校对之间的沟通
原标题:C# Communication between threads

我正在使用“NET”3.5,并试图围绕一个问题总结我的头目(不是一位与我有关系的重要专家)。

我有一个窗口服务,它有一个非常密集的过程,一直运作起来,因此,我把这一进程放在一个单独的轨道上,以便我的主要服务线能够处理业务任务,即服务审计周期、处理组合变化等。

I m 开始穿透镜,通过典型的“快乐”开始,采用一种阻挡这一过程的方法,把它称作活体。

关于该工人的校对,我向另一个服务器发送了数据,预计服务器机箱现在和将来都会重新安装,连接已经消失,我需要重新建立链接(我通过一次活动获悉失去联系)。 我从这里讲,我是直截了当的逻辑,我回过头并跑了,然而,我很容易看到的是,我正在每一段时间(而不是我所希望的)让这个工人read。

现在,当我失去联系和开始新的联系时,我会杀手,但这似乎是浪费资源。

我真的想要做的是,把呼吁(即我已准备好的开端方法)重新唤起仍然记忆的深.,尽管没有做任何事情。

请举任何例子,或说你会这样做。

感谢。

问题回答

你们应避免杀害工人的read子。 当你强行杀死Win32的胎面时,并非所有资源都完全收回。 我认为,在Win32的透镜被炸死时,没有找回为read子保留的虚拟地址空间(或者说是底页)。 这可能不是很大的,但在一个长期服务器服务过程中,它将随着时间的推移而增加,并最终降低服务。

如果允许胎面离开胎面,通常终止,所有资源都会收回。

如果背景线将持续运行(而不是睡觉),那么你就只能使用全球蓝色旗,在主线和背景线之间沟通。 只要背景随时看着这一全球旗帜。 如果旗帜被封,则read子可以清理地关闭并撤出。 如果主线是唯一的作者,背景只读了国旗价值,则无需锁定语。

当背景已经失去其向服务器发送数据的链接时,为什么它自行进行重新连接? 我不清楚的是,主线为何需要冲淡背景,以开始。

你可以使用单一州模式。 在你的情况下,将这一联系变成一个静态物体。 两条镜均可进入该物体,这意味着构造和使用该物体。

必要时,主线可以建构,每当工人可用时,就可上网。

用<代码>ThreadPool.QueueUserWorkItem代替。 这一方法从深层池和基cks中 gr。 在另一条路面上采用一种方法的任务看来是理想的。

另外,当你说“普通话”时,你指的是重新创建和启动新的<条码>Thread,附在<条码>上。

您是否认为“BackgroundWorker?

根据我的理解,你只是做了工作的一只透镜,除非需要cancel 。 它处理。

我会杀(但如有可能,会冒.)工人read。 一切都有垃圾收集,你可以从零开始。

这一服务器更换台的频率如何? 如果这种情况经常发生,使资源成为一个问题,则很可能经常发生。

The BackgroundWorker is a bit slower than using plain threads, but it has the option of supporting the CancelAsync method.
Basically, BackgroundWorker is a wrapper around a worker thread with some extra options and events.

The CancelAsync method only works when WorkerSupportsCancellation is set.
When CancelAsync is called, CancellationPending is set.
The worker thread should periodically check CancellationPending to see if needs to quit prematurely.

页: 1





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

热门标签