【问题标题】:Delphi. Thread methods access through Thread's handle and (or ) ID德尔福。 Thread 方法通过 Thread 的句柄和(或)ID 访问
【发布时间】:2014-04-27 13:48:35
【问题描述】:

我正在使用 Winsock 1.1 在 Delphi 上开发基于客户端-服务器的小型应用程序 服务器: 当客户端尝试通过 TCP 协议连接时,我为他创建了新的套接字和一个线程,以使用它。 我使用 CreateThread() 过程创建新线程。 所以对于每个客户我都有套接字+线程 我将线程句柄和 ID 存储在数组中,我可以随时访问它们。 但是我不明白如何通过使用它的句柄和(或)ID来调用线程方法。

【问题讨论】:

  • 您还需要创建一个工作队列。每个线程都有自己的队列。线程将工作从他们的队列中拉出。当控制器有新工作时,它会将工作推送到适当的队列中。

标签: multithreading delphi sockets


【解决方案1】:

您没有创建任何线程对象,因此没有可调用的方法。从TThread 派生一个类,而不是直接调用CreateThread(),然后您可以为每个客户端创建一个新的线程对象,将对象指针存储在一个列表中,并在需要时调用这些对象上的方法。然后,您可以为您的类提供一个队列成员来保存待处理的数据,并根据需要覆盖虚拟 Execute() 方法来处理该队列。

【讨论】:

    猜你喜欢
    • 2014-09-29
    • 2011-05-17
    • 1970-01-01
    • 2017-02-05
    • 1970-01-01
    • 2011-01-19
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    相关资源
    最近更新 更多