首先简单介绍下distri.lua中的线程设计方案. distri.lua提供一个API函数fork用于创建新的C线程,这个C线程运行独立的lua虚拟机,为了在各线程之间通信 每个线程都会创建一个channel,用于接收其它线程发送过来的消息. 这个channel内部实现为单向链表,为了将channel的处理与网络消息处理接口合并,channel使用tls为每个单 独的 线程创建一个管道,这个管道被添加到proactor中监听,如果一个线程尝试从channel中读消息,而消息队 列为空,就 将这…