摘要:
传统的fork()系统调用直接把所有的资源复制给新创建的进程。这种实现过于简单并且效率低下,因为它拷贝的数据或许可以共享(This approach is significantly naïve and inefficient in that it copies much data that might otherwise be shared.)。更糟糕的是,如果新进程打算立即执行一个新的映像,那么所有的拷贝都将前功尽弃。Linux的fork()使用写时拷贝(copy-on-write)页实现。写时拷贝是一种可以推迟甚至避免拷贝数据的技术。内核此时并不复制整个进程的地址空间,而是让父 阅读全文
阅读排行榜
更加pythonic的写法
2016-03-01 16:23 by 放作夥, 278 阅读, 收藏,
摘要:
我会陆陆续续的做些笔记,其实有很多不错的技巧,但我只记录特别特别眼前一亮的。 1.交换变量 a,b=b,a 2.for...else...的else部分用来处理没有从for循环中断的情况。有了它,我们不用设置状态变量来检查是否for循环有break出来,简单方便。 改进前: find = False 阅读全文
求互粉用户
2015-05-18 20:29 by 放作夥, 262 阅读, 收藏,
摘要:
2G的文件,里面有两列,一列是用户id,另一列是该用户的粉丝id,如12345 56321就是说56321是12345的粉丝,求互粉的用户。解法:1.脑子要马上反应到两列都是数字,既然是数字就有50%的几率要用到排序。 2.把文件拷贝一份,列互换,然后两个文件都排序(外排序),然后类似于双指... 阅读全文
智能指针之auto_ptr
2014-04-23 13:25 by 放作夥, 261 阅读, 收藏,
摘要:
auto_ptr是C++标准库里的所谓智能指针之一。是用来防止内存泄漏的一种方式。它不允许多个指针指向同一块内存,而且能在方法返回时自动释放所指的内存。这样即使在程序因为异常退出时也能释放掉所占用的资源,不用造成内存泄漏。void f(){classA* ptr = new classA;try{.... 阅读全文
虚函数和纯虚函数的区别
2014-04-14 19:17 by 放作夥, 257 阅读, 收藏,
摘要:
(1)虚函数为了重载和多态的需要,在基类中是已经实现了的,即便是个空实现,所以子类中可以重写也可以不写基类中的此函数!纯虚函数在基类中是没有实现的,必须在子类中加以实现,很像java中的接口函数!(2)虚函数是为了继承接口和默认行为纯虚函数只是继承接口,行为必须重新定义(3)在很多情况下,基类本身直... 阅读全文
浙公网安备 33010602011771号