不记得在哪里看到过一句话,说list,或者是TList不是线程安全的.
有一个线程安全的版本是….

谁晓得这个?

需要安全的话,你自己加一个锁就可以了。

TList 是线程不安全的!

可以使用TThreadList

TThreadList *hThreadList = new TThreadList();
hThreadList->LockList();
hThreadList->Add(void*);
hThreadList->Unlocklist();

其实ThreadList 就是封装了TList + 临界段来实现的

该回复于2008-07-29 09:17:35被版主删除

要线程安全,可以用TThreadList
说明下,
如果用TThreadList,则在调用Add和Remove时都是不需要调用LockList(); 和Unlocklist(); 的,该类已经对这两个方法进行了保护;
如果需要获取到实际的TList对象,则必须用LockList(); 和Unlocklist(); ,
如下:
TList * list=hThreadList->LockList();
//此时正常操作list
hThreadList->Unlocklist();

TThreadList
是线程安全的。