我正在TServerSocket
从继承的类中创建一个实例TThread
。Execute
我的问题是,主线程代码的过程中应该包含什么代码?
TServerThread = class(TThread)
private
FServerSocket: TServerSocket;
// FServerSocket event handlers
procedure ClientConnect(Sender: TObject; Socket: TCustomWinSocket);
procedure ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure ClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ClientRead(Sender: TObject; Socket: TCustomWinSocket);
procedure Listen(Sender: TObject; Socket: TCustomWinSocket);
protected
procedure Execute; override;
public
constructor Create;
destructor Destroy; override;
end;
这就是类的外观,因此您将了解其实现的外观。
我问这个的原因是因为所有主要代码都发生在事件处理程序中,我想不出 MAIN 过程(执行)应该做的任何繁忙的工作操作,除了循环和睡眠?
在这里,有人建议了一个消息循环,但我认为该线程不会接收任何消息。