在Delphi7中在不同的线程中分配和释放内存

Rog*_*eda 3 delphi multithreading memory-management

我有一个带有两个线程的delphi7程序.如果我使用new()在第一个线程中分配内存,我可以在另一个线程中使用dispose释放它吗?我也在使用fastMM

Dav*_*nan 6

是.动态内存在进程中的所有线程之间共享.

您必须确保在早期阶段IsMultiThread设置全局变量True.使用TThreadBeginThread创建线程将设置IsMultiThreadTrue.如果你知道你的代码使用线程,那么你不妨设置IsMultiThreadTrue明确的初始化过程中.

显然,在开始释放之前必须完成分配.