会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
adinosaur
博客园
首页
新随笔
联系
管理
订阅
上一页
1
2
3
2017年1月8日
内存模型一:什么是内存模型
摘要: 纵然工作再忙也应该要留下自己思考的时间,这次我总结了一下对于内存模型的理解,起因是在公司听了一场关于多线程编程的分享会。首先解释一下,内存模型和对象模型是不同的。对象模型说的是一个对象是如何被设计的,其在内存中是如何布局的。而内存模型说的是,在多核多线程环境下,各种不同的CPU是如何以一种统一的方式
阅读全文
posted @ 2017-01-08 23:19 adinosaur
阅读(9277)
评论(0)
推荐(3)
2016年11月4日
关于malloc的一些想法
摘要: 之前一段时间翻阅过一些内存分配的资料,这次终于能将其整理记录下来了。 c标准库里有两个耳熟能详的函数,用于对堆空间的内存进行分配和释放,它们分别是: 需要说明的是,不管是malloc还是free,这些函数都是c标准库提供给我们的,而不是操作系统的API。对于堆上的内存管理,操作系统(Linux)提供
阅读全文
posted @ 2016-11-04 09:45 adinosaur
阅读(676)
评论(0)
推荐(0)
2016年10月27日
字符串匹配算法的分析
摘要: 字符串匹配算法的分析 ============== 问题描述 字符串匹配问题可以归纳为如下的问题: 在长度为n的文本T[1...n]中,查找一个长度为m的模式P[1...m]。并且假设T,P中的元素都来自一个有限字母集合Ʃ。如果存在位移s,其中0≤s≤n m,使得T[s+1..s+m] = P[1.
阅读全文
posted @ 2016-10-27 10:29 adinosaur
阅读(10962)
评论(0)
推荐(0)
2016年10月21日
可靠UDP
摘要: tcp为我们做了什么事情? 总得来说,tcp做了这几件事: udp为我们做了什么事情? 首先应该清楚的是,一个udp数据包仅仅是在IP数据包之上加了一个udp协议头。这个协议头十分精简,仅有的四个字段是:目的端口号、源端口号、数据包长度、校验和。通过sendto这个syscall发送一个udp数据包
阅读全文
posted @ 2016-10-21 14:24 adinosaur
阅读(4387)
评论(0)
推荐(0)
2016年9月20日
c语言实现的协程
摘要: 这几天突然对协程感兴趣,于是自己实现了一个,代码放在github上:https://github.com/adinosaur/Coro 协程是一种用户空间的非抢占式线程,主要用来解决等待大量的IO操作的问题。 协程vs线程 对比使用多线程来解决IO阻塞任务,使用协程的好处是不用加锁,访问共享的数据不
阅读全文
posted @ 2016-09-20 15:56 adinosaur
阅读(12380)
评论(2)
推荐(1)
2016年8月26日
c++11的右值引用、移动语义
摘要: 对于c++11来说移动语义是一个重要的概念,一直以来我对这个概念都似懂非懂。最近翻翻资料感觉突然开窍,因此记下。其实搞懂之后就会发现这个概念很简单,并无什么高深的地方。 先说说右值引用。右值一般指的是表示式中的临时变量,在c++中临时变量在表达式结束后就被销毁了,之后程序就无法再引用这个变量了。但是
阅读全文
posted @ 2016-08-26 01:58 adinosaur
阅读(4125)
评论(0)
推荐(0)
2016年8月14日
游戏服务端定时器的实现
摘要: 最近在看过一些定时器相关的资料,也读了一些代码,比如云风的skynet的定时器实现,小有启发,因此将所得整理记录下来。 通常,一个定时器模块会提供以下三个接口: reg_tick注册一个tick,unreg_tick取消一个tick,update_timer更新计时器的时间,触发其中过期的tick。
阅读全文
posted @ 2016-08-14 14:08 adinosaur
阅读(5421)
评论(0)
推荐(0)
上一页
1
2
3
公告