我可以将TCriticalSection对象声明为公共类字段吗?

用户名

我可以将一个TCriticalSection对象声明为公共字段,例如:

type
  TMyObject = class
  public
    CS: TCriticalSection;
  end;

我想将该字段公开,以允许任何线程进入和离开关键部分对象,从而在内部保护TMyObject实例的完整性因此,我可以将TCriticalSectionobject声明为公共类字段吗?

大卫·赫弗南(David Heffernan)

简单的答案是肯定的。一个班级的场地是举行一个比赛的完全正常的地方TCriticalSection

为了使关键部分能够序列化对共享资源的访问,所有线程都必须引用关键部分的相同实例。因此,从这个事实可以得出结论,您需要确保所有线程都引用该类的同一实例。然后,当他们读取该类的关键部分字段时,所有线程都在访问该关键部分的相同实例。

声明公共字段通常被认为是不好的做法。通常,您可以通过类的属性或方法来公开此类内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将类的对象声明为null

来自分类Dev

我可以在C ++中自动在对象声明上调用类的方法吗?

来自分类Dev

我可以将内部类声明为静态类并访问它而无需在周围的类中创建对象吗?

来自分类Dev

将对象声明为php中的特定类

来自分类Dev

这样可以声明为全局对象类吗?

来自分类Dev

我们可以将JPA静态元模型类的成员变量声明为final吗?

来自分类Dev

将一个类的对象声明为另一个类的成员 (C++)

来自分类Dev

将对象声明为 switch 语句

来自分类Dev

您可以使用using将基类中的公共成员重新声明为派生类中的私有成员吗?

来自分类Dev

类内的对象声明

来自分类Dev

如何将一个对象及其子对象声明为常量?

来自分类Dev

我可以在公共头文件中声明变量为const而不在私有头文件中声明为const吗?

来自分类Dev

为什么我必须在抽象类中将字段声明为“公共”才能从派生类访问它?

来自分类Dev

是否有可能避免将一个对象声明为final?

来自分类Dev

我可以用通用形式声明一个类,然后将子类转换为在Java中声明为通用的类型吗?

来自分类Dev

我是否可以在R中仅为类的多个对象声明一个通用函数(例如“ plot”或“ summary”)?

来自分类Dev

可以在ES 6或7中将类方法声明为引用吗?

来自分类Dev

我可以在构造方法之外声明Python类字段吗?

来自分类Dev

我可以将类放入通用类声明中吗?

来自分类Dev

我可以在Visual Studio 2012中将方法声明为好友吗?

来自分类Dev

我可以将android:id声明为Android中的数组吗?

来自分类Dev

我可以仅将数组的特定元素声明为常量吗?(C / C ++ / Fortran)

来自分类Dev

将对象声明为“最终”有什么意义?

来自分类Dev

应该将对象声明为const还是let?

来自分类Dev

我可以在C ++中全局声明类对象吗?

来自分类Dev

我可以在C ++中全局声明类对象吗?

来自分类Dev

将Lambda表达式声明为类常量字段

来自分类Dev

可以将析构函数声明为私有吗?

来自分类Dev

将AWS Java SDK客户端对象声明为静态以供并发使用是否安全?

Related 相关文章

  1. 1

    将类的对象声明为null

  2. 2

    我可以在C ++中自动在对象声明上调用类的方法吗?

  3. 3

    我可以将内部类声明为静态类并访问它而无需在周围的类中创建对象吗?

  4. 4

    将对象声明为php中的特定类

  5. 5

    这样可以声明为全局对象类吗?

  6. 6

    我们可以将JPA静态元模型类的成员变量声明为final吗?

  7. 7

    将一个类的对象声明为另一个类的成员 (C++)

  8. 8

    将对象声明为 switch 语句

  9. 9

    您可以使用using将基类中的公共成员重新声明为派生类中的私有成员吗?

  10. 10

    类内的对象声明

  11. 11

    如何将一个对象及其子对象声明为常量?

  12. 12

    我可以在公共头文件中声明变量为const而不在私有头文件中声明为const吗?

  13. 13

    为什么我必须在抽象类中将字段声明为“公共”才能从派生类访问它?

  14. 14

    是否有可能避免将一个对象声明为final?

  15. 15

    我可以用通用形式声明一个类,然后将子类转换为在Java中声明为通用的类型吗?

  16. 16

    我是否可以在R中仅为类的多个对象声明一个通用函数(例如“ plot”或“ summary”)?

  17. 17

    可以在ES 6或7中将类方法声明为引用吗?

  18. 18

    我可以在构造方法之外声明Python类字段吗?

  19. 19

    我可以将类放入通用类声明中吗?

  20. 20

    我可以在Visual Studio 2012中将方法声明为好友吗?

  21. 21

    我可以将android:id声明为Android中的数组吗?

  22. 22

    我可以仅将数组的特定元素声明为常量吗?(C / C ++ / Fortran)

  23. 23

    将对象声明为“最终”有什么意义?

  24. 24

    应该将对象声明为const还是let?

  25. 25

    我可以在C ++中全局声明类对象吗?

  26. 26

    我可以在C ++中全局声明类对象吗?

  27. 27

    将Lambda表达式声明为类常量字段

  28. 28

    可以将析构函数声明为私有吗?

  29. 29

    将AWS Java SDK客户端对象声明为静态以供并发使用是否安全?

热门标签

归档