摘要:
答案是:accept过程发生在三次握手之后,三次握手完成后,客户端和服务器就建立了tcp连接并可以进行数据交互了。这时可以调用accept函数获得此连接。 TCP Accept总结 TCP Accept 是三次握手以后,Accept正确返回以后TCP Server 可以和Client的连接已建立并可 阅读全文
摘要:
首先讲解一种简单容易理解的暴力解法:复杂度为O(n^2) 解题思路是:第一,定义一个pStr指向字符串str,再定义一个p指向pStr,q指向pStr+1; 第二,找出一个字符*p与其下一个字符*q相同位置,比如oo,num++,index = p;然后比较这两个相同字符*p,*q两边的字符是否相等 阅读全文
摘要:
任何一个用过或学过C的人对malloc都不会陌生。大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉。但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至把malloc当做操作系统所提供的系统调用或C的关键字。实际上,malloc只是C的标准库中提供的一 阅读全文
摘要:
摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用My 阅读全文
摘要:
绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。这里对 Redis 常见问题做一个总结,解决大家的知识盲点。 1、为什么使用 Redis 在项目中使用 Redis,主要考虑两个角度:性能和并发 阅读全文
摘要:
1.首先第一步应该是先代码审阅,在审阅多线程代码时,重点要检查与并发相关的错误。 审阅多线程代码需要考虑的问题: 这里,列一下我的清单: 并发访问时,那些数据需要保护?如何确定访问数据受到了保护?是否会有多个线程同时访问这段代码?这个线程获取了哪个互斥量?其他线程可能获取哪些互斥量?两个线程间的操作 阅读全文