By default, TThreadList ignores attempts to add duplicate entries to the list. If the list is large, this default is computationally expensive. For better performance, you may want to change the Duplicates property to dupAccept where possible.
function LockList: TList;
Description
LockList returns the TList object that contains the list, after locking out all other threads.
procedure UnlockList;
Description
UnlockList calls the Windows LeaveCriticalSection function. Use UnlockList after LockList to allow other threads access to the list.