1、共享内存实现跨进程消息队列:《UNIX网络编程卷2》,消息队列,p85
offset识别结构体内容,防止重复加载内存地址变更。共享信号量或者无锁环形队列,MAGIC NUMBER 验证,防止版本不一致。
2、虚拟实时:《linux内核设计与实现》, 进程调度,p43
调度时使用时间记账。虚拟运行时间 +=加权(上一帧运行时间); while {run get_task( min(虚拟运行时间) ) ;}(true);
移动检测时曾用到过异常移动的加权算法,与这个类似。每步移动异常加权,总量超过后,执行 禁止移动时间=异常总量/速度 的惩罚。
3、等待队列:《linux内核设计与实现》, 进程调度,p50
在读列上自旋,没有事件则调度等待,否则返回。
epoll源码:自旋锁+就绪队列,mutex+红黑树数据
无限法则服务器:接口->协程+rpc->服务组件, 可灰更微服务,共享内存1s拉起,接口自动测试,全局锁服务器用于独占某些服务或操作。
ECS模式:word=system+entity; system=sys1+sys2+sysn; entity=componentN;
位标记的静态数组:int info_flg; T vct_info; 《linux内核设计与实现》, 软中断,p111。 tasklet:利用静态软中断,添加调度策略:高低优先级链表。ksoftirqd:每个cpu上低优先级内核线程池,处理高并发软中断,防止造成用户线程饥饿。
posted on 2020-01-16 16:32
长戟十三千 阅读(385)
评论(0) 编辑 收藏 引用 所属分类:
架构随笔