岁月催老

前几天听到楼下一个女的,估计已经不是女生了,走过一路哼着潇洒走一回,大惊,回到寝室慌里慌张找出来叶倩文的潇洒走一回来听,觉得不过瘾,还巴巴的从verycd上下了叶倩文的不少专辑来。听起来,还是那个年代的曲子好,感情饱满,唱功扎实。从初中之后,几乎就没有在听过两千年之后的曲子——伍芳和王心雅会有两千年之后的专辑。硬盘上一大堆黄莺莺徐小凤大妈级的专辑。

而且还有一个毛病,听到一首曲子觉得好听就单曲循环,开了外放寝室同学就受不了,然而乐此不疲,感觉越听越有味道,尤其喜欢潇洒走一回里面的琵琶伴奏。

白天琢磨了整整一天的一串动作怎么实现,前两天好不容易搭起来一个多线程模型,今天在机器人上死活都读取不了更新数据,晚上在实验室坐了一会儿,原想去搞点机械设计和电控的内容给论文用的,看着还是不死不活的那个多线程程序心里很恼火,于是七点多也很快回来了。期间Y闯进来,原来她不知道今天W老师出差了,晚上不开会,我也是早上才猛然醒悟今天晚上是不开会的,其实W老老早就说这两周不开会什么的,也没在意。觉得Y身上依然洋溢着学生时代青葱岁月的味道,这半年都被操到生不如死了,勉强跟人说话能提兴致,不过一般也就是一两句话,大嗓门说多了理所当然的也就是萎靡了。碰到Y反而要跟着她的调门跑,一连串连笑带侃都觉得有点体力不支了 ><

晚上幸亏碰到Z,没想到他十一点多我都会寝室了,他还在实验室,赶紧抓住他问了问那个多线程的程序,回到寝室终于发现那个子线程代码是重复执行的——Z看了看我的多线程实现方式,淡淡的飘出一句:对调函数,下层数据一更新就通知回调函数处理一下~~~奶奶的,文档说的明明白白了,都用了CALL BACK函数做示例,居然没有醒悟过来,脑子里一直想着windows的线程不是介个样纸的啊~~~之前用过的pThread也不是这个样纸的啊~~~真是戳瞎了两只老虎眼~

下面是晚上最后编译的一次程序的几个顺序截图,多少有了点眉目,实在不想解释了,关于多线程的模型在最后面gang一下。感谢Z,只要你缺钱,明年给你掏一年的域名租金。

顺便说一下,Y同学可能会比较垂涎最后两张图,这两图里player thread及其之上的几个组件都是player运行的内部组件, player thread下面的的几个方框只是客户控制程序,如果加上真正的device物理硬件,那就是完整的一个机器人控制装配图了——在软件上说装配图貌似也蛮合理的其实~

下面是一张单线程处理的框架,跟一张多线程处理的框架,地球人都知道多线程减轻了单个程序的载荷,更加高效地利用处理器。但是要记住啊,同学们,这里第二张图里面的子线程是他妈回调函数啊,主函数里面的player.read();执行一边,所有挂上去的子线程函数都被叫唤一边啊~今天一天,到现在,后半夜,算了算了,睡觉~

单线程

多线程

唉,听着潇洒走一回舍不得,听会儿在睡觉吧