我可以将一个TCriticalSection
对象声明为公共字段吗,例如:
type
TMyObject = class
public
CS: TCriticalSection;
end;
我想将该字段公开,以允许任何线程进入和离开关键部分对象,从而在内部保护TMyObject
实例的完整性。因此,我可以将TCriticalSection
object声明为公共类字段吗?
简单的答案是肯定的。一个班级的场地是举行一个比赛的完全正常的地方TCriticalSection
。
为了使关键部分能够序列化对共享资源的访问,所有线程都必须引用关键部分的相同实例。因此,从这个事实可以得出结论,您需要确保所有线程都引用该类的同一实例。然后,当他们读取该类的关键部分字段时,所有线程都在访问该关键部分的相同实例。
声明公共字段通常被认为是不好的做法。通常,您可以通过类的属性或方法来公开此类内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句