如何在线程中安全地处理对象,而另一个线程可以在Delphi中使用该对象? 有关想要阅读的想法或文章吗?
答案 0 :(得分:7)
在安全处理之前,您必须确保其他线程不再使用该对象。
使用锁(例如临界区或互斥锁)包裹对对象的所有访问权。
或者使对象被引用计数。在处理对象时让每个线程递增引用计数,并在完成时递减它。然后你可以在它的refcount减少到0之后处理该对象。编写一个实现Delphi TInterfacedObject
的interface
派生类将很好地用于此目的并完成大部分工作你自动了。