摘要: socket阻塞与非阻塞,同步与异步作者:huangguisu1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一... 阅读全文
posted @ 2015-07-23 20:12 伟gg 阅读(790) 评论(0) 推荐(0) 编辑
摘要: 随着2.6内核对epoll的完全支持,网络上很多的文章和示例代码都提供了这样一个信息:使用epoll代替传统的poll能给网络服务应用带来性能上的提升。但大多文章里关于性能提升的原因解释的较少,这里我将试分析一下内核(2.6.21.1)代码中poll与epoll的工作原理,然后再通过一些测试数据来对... 阅读全文
posted @ 2015-07-23 20:10 伟gg 阅读(1924) 评论(0) 推荐(0) 编辑
摘要: MFC对SOCKET编程的支持其实是很充分的,然而其文档是语焉不详的。以至于大多数用VC编写的功能稍复杂的网络程序,还是使用API的。故CAsyncSocket及CSocket事实上成为疑难,群众多敬而远之。余好事者也,不忍资源浪费,特为之注解。一、CAsyncSocket与CSocket的区别前者... 阅读全文
posted @ 2015-07-23 20:06 伟gg 阅读(6717) 评论(0) 推荐(2) 编辑
摘要: 前向声明的定义:有些时候我们可以声明一些类但是并不去定义它,当然这个类的作用也很有限了。比如class foo;声明一个foo类,这个声明,有时候也叫做前向声明(forward declaration),在声明完这个foo类之后,定义完这个foo类之前的时期,foo类是一个不完全的类型(incomp... 阅读全文
posted @ 2015-07-23 19:46 伟gg 阅读(250) 评论(0) 推荐(0) 编辑
摘要: C++为我们提供了安全的内存空间申请方式与释放方式,但是new与delete表达式却是把空间的分配回收与对象的构建销毁紧紧的关联在一起。实际上,作为与C语言兼容的语言,C++也为我们提供了更加底层的内存操作方式的。谈C++就离不开STL,考虑一下vector类的机制,为了高效率的增加与删除元素,它并... 阅读全文
posted @ 2015-07-23 19:39 伟gg 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 6.1 自定义内存池性能优化的原理如前所述,读者已经了解到"堆"和"栈"的区别。而在编程实践中,不可避免地要大量用到堆上的内存。例如在程序中维护一个链表的数据结构时,每次新增或者删除一个链表的节点,都需要从内存堆上分配或者释放一定的内存;在维护一个动态数组时,如果动态数组的大小不能满足程序需要时,也... 阅读全文
posted @ 2015-07-23 19:31 伟gg 阅读(712) 评论(0) 推荐(0) 编辑
摘要: 树二叉树 森林之间的相互转换详见:http://student.zjzk.cn/course_ware/data_structure/web/shu/shu6.5.1.htm二叉树作为树的一种,是一种重要的数据结构,也是面试官经常考的东西。昨天看了一下关于树中的面试题,发现二叉树中的面试题比较常见的... 阅读全文
posted @ 2015-07-23 16:29 伟gg 阅读(325) 评论(1) 推荐(0) 编辑
摘要: 在看下面这篇文章之前,先介绍几个理论知识,有助于理解A*算法。启发式搜索:启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无畏的搜索路径,提到了效率。在启发式搜索中,对位置的估价是十分重要的。采用了不同的估价可以有不同的效果。... 阅读全文
posted @ 2015-07-21 23:02 伟gg 阅读(1136) 评论(0) 推荐(0) 编辑
摘要: /* 5个海盗抢到了100颗宝石,每一颗都一样的大小和价值。 他们决定这么分: 1。抽签决定自己的号码(1,2,3,4,5) 2。首先,由1号提出分配方案,然后大家5人进行表决,当且仅当半数和超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。 3。如果1号死后,再由2号... 阅读全文
posted @ 2015-07-18 14:46 伟gg 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 一、如何判断一个单链表是有环的?(注意不能用标志位,最多只能用两个额外指针) struct node { char val; node* next;} bool check(const node* head) {} //return false : 无环;true: 有环 一种O(n)... 阅读全文
posted @ 2015-07-17 11:28 伟gg 阅读(289) 评论(0) 推荐(0) 编辑