- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 nsq源码阅读笔记之nsqd(四)——Channel
Topic/Channel是发布/订阅模型的一种实现。Topic对应于发布,Channel对应于订阅。消费者通过在Topic下生成不同的Channel来接收来自该Topic的消息。通过生成相同的Channel来实现消费者负载均衡。Channel本身在投递消息给消费者时维护两个队列,一个是inFlight队列,该队列存储正在投递,但还没被标记为投递成功的消息。另一个是deferred队列,用来存储需要被延时投
2016-02-29 14:14:46 8630 6
原创 LeetCode 26: Remove Duplicates from Sorted Array
LeedCode 26: Remove Duplicates from Sorted Array的三种解题思路
2016-02-28 21:16:44 610
原创 nsq源码阅读笔记之nsqd(三)——diskQueue
diskQueue是backendQueue接口的一个实现。backendQueue的作用是在实现在内存go channel缓冲区满的情况下对消息的处理的对象。 除了diskQueue外还有dummyBackendQueue实现了backendQueue接口。对于临时(#ephemeral结尾)Topic/Channel,在创建时会使用dummyBackendQueue初始化backend
2015-12-09 20:33:56 2519 8
原创 nsq源码阅读笔记之nsqd(二)——Topic
GetTopic函数用于获取topic对象,首先先尝试从topicMap表中获取,如果指定的topic存在,则直接返回topic对象。当topic不存在时需要新建一个topic,加入到topicMap中,如果启用了nsqlookupd则需要从lookupd中获取该topic的所有channel,在去除#ephemeral结尾的临时channel后加入到topic中。其中锁的使用值得学习:
2015-11-26 13:20:26 3717 2
原创 nsq源码阅读笔记之nsqd(一)——nsqd的配置解析和初始化
nsqd的配置解析和初始化配置解析nsqd的主函数位于apps/nsqd.go中的main函数flagSet := nsqFlagset()flagSet.Parse(os.Args[1:])首先main函数调用nsqFlagset和Parse进行命令行参数集初始化
2015-11-25 16:03:39 5401
原创 从Eclipse迁移到Android Studio
Android Studio发布正式版后,Google的重心转向AS,以后可能也会逐步停止对Eclipse的支持,而且目前开源项目有很多以及不支持Eclipse。因此决心将项目转到Android Studio进行开发。Android Studio的安装需要联网并且下载Android SDK和gradle等等才能使用。同时AS的使用需要配合相应位数的JDK,并且JDK的路径需要设置到
2015-11-25 16:00:38 672
原创 Golang实现带优先级的channel
在go语言中,如果select/case中没有default子句,则程序会阻塞在select中,直到其中一个case语句接收到了数据。如果有default语句,则不会阻塞,如果case接收到数据,就执行case中的语句,如果case未收到信号,则会执行defalut中的语句,随后跳出select块。使用这个特性可以实现带优先级的channel队列。
2015-11-25 15:56:57 4524 8
原创 POJ1059解题报告
本题属于模拟题,虽然通过率不高,但实际上并不难,只要理解了题意模拟游戏场景就能顺利做出来。题意说的是若干个玩家玩一个叫飞行棋的游戏,棋盘有101格,分别标0-100,游戏开始时所有玩家都在0格,游戏中玩家轮流掷骰子(1-6点),若当前格子编号加上骰子掷出的点数小于等于100,则前进骰子掷出的点数个格子,否则不动。前进后有几种情况,若格子是一个“梯子格”,就会从该格前进到指定的更大点数的格子
2015-09-24 23:43:14 619
原创 Windows下PyInstaller的使用教程
直接使用Python开发的软件时有许多不方便的地方,如需要安装特定的Python环境,需要安装依赖库。为了便于部署,需要将Python源代码编译成可执行文件,编译后的可执行文件就能脱离python环境运行了。安装将py编译成可执行文件需要使用PyInstaller
2015-09-17 14:51:08 25325 1
原创 POJ1003解题报告
题目概览标题Handover要求Time Limit: 1000MSMemory Limit: 10000K题目描述How far can you make a stack of cards overhang a table? If you have one card
2015-09-17 14:41:54 470
原创 POJ1002解题报告
题目概览标题487-3279要求Time Limit: 2000MSMemory Limit: 65536K 题目描述Businesses like to have memorable telephone numbers. One way to make a telephone
2015-09-17 14:37:57 571
原创 使用Hugo搭建博客
终于下决心开个博客,之前试过一次,但是太懒,基本没写什么,而且懒得维护服务器。所以这次博客选择用静态页面的方法搭建,静态博客的好处是能专注于内容本身而不是服务器的维护工作。
2015-09-17 14:31:56 3388
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人