2013年3月6日
摘要: 这几天在研究无锁编程的一些事情。这里是内核kfifo(无锁循环队列,主要用于单一读者与单一写者)代码介绍:http://blog.csdn.net/linyt/article/details/5764312代码精妙处原文作者已经解释得十分清楚了,然而,作者略过了这三个函数的介绍 :smp_rmb()smp_wmb()smp_mb()这几个函数用于同步CPU各个核的cache line。是不是太专业了一点,其实我也不太懂硬件方面的东西,但总归要知道cpu是多核的,每个核有自己的cache,读写内存都先通过cache。然后呢,内存只有一个,核有多个,也就是说,同一份数据在内存只有一份,但却可能同时 阅读全文
posted @ 2013-03-06 01:19 万事屋madao 阅读(4819) 评论(5) 推荐(1) 编辑
2013年3月1日
摘要: 程序员还是熟悉一下数据库为好,今天就被坑了一回:CREATE TABLE `T2` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` char(32) NOT NULL DEFAULT '', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8;好吧,正常来说,新插入的记录id就应该从1000开始了。然而,在创建完表到正式插入第一条记录之间,你可能发现数据库有需要优化的地方,修改了一下配置,重启mysqld。这个时候,再 阅读全文
posted @ 2013-03-01 00:52 万事屋madao 阅读(2852) 评论(0) 推荐(1) 编辑
2013年2月25日
摘要: 工作之后越来越不喜欢折腾了,或者说没啥精力去折腾了。今天实在是觉得太麻烦了才去搞了一下linux mint的开机自动挂载ntfs分区。其实这也很简单,只不过我一折腾起来通常都不是人的份。我会想起之前装系统时遇到的事情,以及解决时用的办法。在京东买了台手提,晚上下单,早上到货。然后呢,随便用张windows碟(没有分区工具)装了个win7,然后再硬盘安装linux mint 14。这有什么问题呢?问题是win7如果不事先分好区并格式化为ntfs直装会多出一个系统保留分区,虽然大小只有100MB,但是却占用了一个主分区名额!然后C盘和D盘又各占了一个主分区名额,那么我的linux mint就只能装 阅读全文
posted @ 2013-02-25 01:09 万事屋madao 阅读(3272) 评论(0) 推荐(0) 编辑
2013年2月12日
摘要: I want to change the world, but I can't find the source code.想改变世界,但找不到源代码,这的确比较凄凉。但是如果源代码就在那里,只不过你没去看,那更是悲哀。昨天在cool shell上看到一篇文章(http://coolshell.cn/articles/8990.html),主要讲述如何利用二级指针删除单向链表。代码如下:View Code 1 void remove_if(node ** head, remove_fn rm) 2 { 3 for (node** curr = head; *curr; ) 4 ... 阅读全文
posted @ 2013-02-12 13:10 万事屋madao 阅读(287) 评论(0) 推荐(0) 编辑