concurrency
Installation
SKILL.md
仓颉语言并发编程 Skill
1. 并发概述
1.1 线程模型
- 仓颉使用抢占式线程模型
- 两种线程概念:语言线程和原生线程
- 仓颉线程是用户空间轻量级线程,采用 M:N 线程模型 — M 个语言线程调度到 N 个原生(OS)线程上,M ≠ N 是可能的
- 每个原生线程选择一个就绪的仓颉线程执行。若仓颉线程阻塞(如等待互斥锁),原生线程挂起它并选择下一个就绪线程
1.2 跨语言注意事项
- 调用阻塞的外部函数(如
socket_read)时,整个原生线程被阻塞,阻止其调度其他仓颉线程 — 降低吞吐量