当前位置:  开发笔记 > 编程语言 > 正文

静态类的范围是什么?

如何解决《静态类的范围是什么?》经验,为你挑选了3个好方法。

我有一个可以一次由多个进程使用的程序集.如果我使用的是静态类,那么多个进程是否都使用该类的相同"实例"?

由于这些进程是分开的,它们是否会在不同的应用程序域下运行,因此静态"实例"是否分开?

这里的细节中的布丁是一个自定义BizTalk适配器正在使用该程序集,我将其设置为以并行批处理方式处理消息.这就是我所说的"多个过程".



1> tvanfosson..:

每个应用程序域都存在一次静态类.在您的情况下,它将取决于适配器是否在同一应用程序域中使用多个线程(因此共享静态类的单个实例)或使用多个进程(因此具有静态类的单独实例).



2> Joel Coehoor..:

多个线程将共享一个实例.因此,静态类可以方便地在线程之间传递状态,但是您需要非常小心,不要引入竞争条件(Monitorlock您的属性).

但是,多个进程应位于单独的AppDomain中,因此每个进程都有自己的实例.


@LordofScripts是的,因为它们都在同一个AppDomain中

3> Ana Betts..:

"我有一个可以一次被多个进程使用的程序集.如果我使用静态类,那么多个进程是否都使用该类的相同"实例"?"

不,他们都有单独的实例.

"由于这些进程是分开的,它们是否会在不同的应用程序域下运行,因此将静态"实例"分开?"

是.

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有