Delphi 2007,Indy - 是在TidTCPServer线程中在上下文中声明的变量吗?

时间:2015-05-25 19:38:38

标签: multithreading thread-safety indy delphi-2007 tcpserver

如果我有一个TidTCPServer实例并且我声明了TFormatSettings并在Create例程中填充它,引用此变量是否安全(例如调用Format ('%1.6f', [SomeReal], AFormatSettings]) in线程的Execute方法,当可能有多个上下文执行时?

如果没有,我如何制作线程安全引用?

2 个答案:

答案 0 :(得分:3)

只要在没有线程访问它(例如在激活服务器之前初始化它)并且线程只是从它读取时修改AFormatSettings,它就是线程安全的。 Format()不会修改传递给它的TFormatSettings

答案 1 :(得分:1)

如果您对线程安全性有任何疑问,可以创建以下函数并使用它代替Format。

:"data-type" => "json"