你可以建议一种方法,既可以从通用代码(VCL或其他)和我自己的线程访问设计时组件? 问题是,当我完全控制自己的线程时,我确切知道何时应该访问互斥锁。在设计时元素的情况下,我至少无法控制与VCL相关的代码。 其中一个变体是将HandleMessage包装在互斥锁访问代码中。这背后的想法是几乎所有与VCL相关的东西都来自消息处理代码(例外是直接的SendMessage处理)。但是看一下这些消息来源,我认为在任何代码片段中都没有“官方”的方式来处理消息处理。
答案 0 :(得分:2)
甚至不要去那里。谷歌为“全球翻译锁定”(Python特定),看看这个瓶颈是什么坏主意。
如果您需要对数据进行同步访问,请尽量使锁定的访问权限尽可能短,并且锁定调用链中的任何一个都不是绝对必须的。如果您有从多个线程访问的对象,则在其方法内部进行同步。