纤程(FIBER)

Indy 10 还包含对纤程的支持。纤程是什么?简单来说,它也是 一个“线程”,但是它是由代码控制的,而不是由操作系统控制的。实际上,可以认为线程 是一个高级纤程。纤程和 Unix 用户线程(Unix user threads)很相似。
线程是操作系统用来分配时间的基本单元。一个线程包含它自己的栈(stack),特定的寄存器 (processor registers) ,以及一个线程上下文(thread context)。线程们自动地被操作系统调度时间。
通常来说,纤程在一个设计良好的多线程应用程序中并没有任何优势。然而当纤程配合一个可以提供相关信息的的智能调度器(intelligent scheduler)使用的时候就可以大大的提高效率从而提高性能。
多个纤程可以使用单个线程来运行。单个纤程也可以被多个线程运行,尽管同时只能有一个线程运行它。你可以在内部运行多个纤程。

所有的 Indy 控件,不管是客户端还是服务器,都支持纤程,大部分都以种透明的方式。

目前 Indy 只在 Windows 下实现了纤程。

posted @   delphi中间件  阅读(2442)  评论(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 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示