Skip to content

网络与并发 ​

详细教程、完整示例与性能建议请参阅:08_网络与并发编程指南.md

并发关键字 ​

玄铁的并发是双层架构:轻量任务跑在用户态无栈状态机(fiber)调度器上,阻塞式任务跑在 OS 线程池上。编译器按异步块的内容自动选择执行层,无需手动指定。

关键字说明
异步 { ... }创建异步任务,返回任务句柄(自动路由 fiber / 线程池)
等待(任务)等待任务完成并取回其 返 回值(无 返 则得 空)
并行 { {a}, {b} }并发执行多个代码块,返回结果数组
道(容量)创建带缓冲的并发通道
选([通道数组], 超时毫秒)等待多个通道中第一个就绪的,返回其下标;超时返回 -1

自动路由规则、推荐模式、行为约定与禁忌(必读)详见 08_网络与并发编程指南.md 的 8.1.3/8.1.4 节。

网络原语 ​

关键字说明
求(url)HTTP GET 请求,返回 结果<字符串>
连(地址)TCP 连接,返回 结果<Socket>;在 异步 块内为非阻塞挂起点(不卡调度器)
听(端口, 回调)TCP 监听,新连接触发回调

Socket 方法 ​

方法说明
.读() / .读(上限)读取数据返回字符串(对端关闭返回 空);异步 块内为就绪挂起且上限生效
.写(内容) / .发(内容)发送数据,返回 真/假;异步 块内为可写挂起、自动续传
.关()关闭连接(通常无需手动调用,ARC 自动管理)

快速示例 ​

xuantie
// HTTP 请求
设 resp = 求("http://api.example.com/data")
若 resp.成功 { 示(resp.值) }

// TCP 服务端
听(8000, 函(流) {
    流.写("欢迎!")
    示(流.读())
})

// TCP 客户端
设 conn = 连("127.0.0.1:8000")
若 conn.成功 {
    conn.值.发("hello")
}

基于 VitePress 静态构建 · 文档内容与仓库 GUIDE/ 同源

玄铁玄铁 XUANTIE · 中文系统级编程语言MARK 玄·折 120×120 · STROKE 8 · NO CURVES