Delphi 关于TCriticalSection类,求证这句话是否正确?
criticalsection机制不是那么“智能”的,他不管你在enter和leave之间访问了谁。哪怕你没有访问任何共享数据。只要有其他线程遵循enter和leave的机制,在同一个时刻如果有一个这样得线程在运行的话,其他的都被阻塞。
所以,enter和leave之间的代码无论是什么都只是他自己在执行,(只要它获得了进入criticalsection的权利)。
无论是对简单变量还是vcl对象的访问,都可以保证同步。
前提是所有的访问代码段都被cs.enter,cs.leave "包围 ".
[解决办法]
是的,就是这样
[解决办法]