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