在阅读有关如何创建服务应用程序的一些材料(如this one)时,为每个服务请求生成一个单独的工作线程(因为我的服务请求可能需要冗长的数据库操作),我来了跨越对TThread的引用和对TServiceThread的其他引用。现在我很困惑。 我应该使用哪一个?和为什么?如果你想要超级有帮助,想要分享你在如何上的专业知识,或者你知道特别好的链接(强调< i>该链接另一侧的内容质量然后这将有助于解决该提问者的情况。不管怎样,谢谢。
答案 0 :(得分:7)
TServiceThread
是实现主服务线程的线程。它仅用于此目的,您不应从TServiceThread
派生您的工作线程。对于工作线程,派生自TThread
。
documentation可能有点朦胧,但确实指向了正确的方向:
TServiceThread表示与特定关联的线程 服务(TService对象)。
TServiceThread是与服务关联的线程。每项服务 application有一个或多个服务对象,每个服务对象都有自己的对象 专用线程。 TServiceThread实例代表那些线程。
并查看TServiceThread.Execute
的实施情况。它包含实现服务主线程所需的所有逻辑。这显然不适合工人线程。