Nee nee, das hast Du etwas falsch verstanden. LockList gibt dir eine Liste zurück, in der Du dann exklusiv rumwuseln kannst. Wenn Du fertig bist, dann rufst du 'UnlockList' auf:
Delphi-Quellcode:
Var
MyList : TThreadList;
...
Procedure TMyThread.ProcessList;
Var
lLocal : TList;
Begin
lLocal := MyList.LockList;
Try
-- hier lLocal verändern
Finally
MyList.UnlockList;
End
End;
'LockList' liefert nicht nur die Liste zurück, sondern sperrt jeden weiteren Versuch, LockList aufzurufen. Daher hängt dein Thread auch.