Skynet:worker线程

Skynet:worker线程

  • 创建worker线程:skynet_start.c
    在这里插入图片描述
    每个工作线程配置不同的权重,即每次从服务消息队列中取的消息数量不同,可以减少全局消息队列上锁的频率,提高服务器的并发,同时能防止某些服务饥饿
  • 工作函数:不断调用skynet_context_message_dispatch函数进行派发消息
    在这里插入图片描述
  • 消息派发机制:skynet_server.c
    在这里插入图片描述 从全局消息队列取一个服务的消息队列,根据工作线程的权重大小处理相应数量的消息。根据消息队列的handle获取服务的上下文,通过dipatch_message派发消息,调用服务的回调函数处理消息