线程性的事件

TIdTCPServer 的事件们是线程性的。换句话说就是尽管它们不是线程类的一部分,它们是在 个线程内被执行的。这个细节十分重要。请确保你在编程前理解了这个细节。
可能这一开始有些令人困惑,事件为什么会看起来是窗体的一部分,结果却在个线程内执行。 然而它内部被这样构建以便于事件能像其他事件一样在设计时被创建,而不用创建一个定制 的类并重写方法。

每个客户端都被赋值自己的线程。使用那些线程的时候,TCP 服务器的事件(当创建时是作 为窗体或者数据模型的一部分)被从那些线程调用。这也就是说单个事件可能被从多个线程 调用许多次。这些事件会收到一个 AThread(XE10 中 AContext)参数,这参数声明了正调用事 件的线程。
线程性的事件比如服务器上的 OnConnect, OnExecute, 和 OnDisconnect。

 

posted @   delphi中间件  阅读(384)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示