TThread提供了几种同步的方法:
TThread = class
protected
procedure Synchronize(Method: TThreadMethod); overload; // 在继承中调用同步
public
class procedure Synchronize(AThread: TThread; AMethod: TThreadMethod); overload;
class procedure StaticSynchronize(AThread: TThread; AMethod: TThreadMethod);
end;
OnTerminate事件是线程安全的。
TServerSocket
当TServerSocket的ServerType设置为stThreadBlocking方式时,要注意
OnAccept: 线程安全
OnGetThread: 线程安全
OnThreadStart : 线程不安全
OnThreadEnd : 线程不安全
OnClientConnect: 线程不安全(好象没被调用)
OnClientDisconnect: 线程不安全
OnClientRead: 线程安全
OnClientWrite: 线程安全
OnClientError: 线程不安全
参考代码: