随笔 - 118  文章 - 1  trackbacks - 0
<2020年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用链接

留言簿

随笔分类

随笔档案

收藏夹

调试技巧

搜索

  •  

最新评论

阅读排行榜

评论排行榜

60天内阅读排行

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 长戟十三千 阅读(49) 评论(0)  编辑 收藏 引用 所属分类: 架构随笔

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理