随笔分类 -  C/C++

摘要:什么是Makefile? 一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统 阅读全文
posted @ 2018-05-23 14:34 CTHON 阅读(15597) 评论(0) 推荐(0) 编辑
摘要:值得注意:线程是轻量级进程,pcb拷贝自所属进程,内容一样,。 阅读全文
posted @ 2018-05-22 22:33 CTHON 阅读(474) 评论(0) 推荐(0) 编辑
摘要:一般我们是通过动态创建子进程(或者子线程)来实现并发服务器的,这样的缺点 (1)动态创建进程(或线程)比较耗费时间,这将导致较慢的客户响应 (2)动态创建的子进程通常只用来为一个客户服务,这样导致了系统上产生大量的细微进程(或线程)。进程和线程间的切换将消耗大量CPU时间 (3)动态创建的子进程是当 阅读全文
posted @ 2018-05-21 22:25 CTHON 阅读(286) 评论(0) 推荐(0) 编辑
摘要:共享内存的创建 一、区别 1. 共享内存允许两个或多个进程共享一给定的存储区,因为数据不需要来回复制,所以是最快的一种进程间通信机制。共享内存可以通过mmap()映射普通文件(特殊情况下还可以采用匿名映射)机制实现,也可以通过系统V共享内存机制实现。应用接口和原理很简单,内部机制复杂。为了实现更安全 阅读全文
posted @ 2018-05-20 16:53 CTHON 阅读(7341) 评论(0) 推荐(1) 编辑
摘要:设想一下如下场景:有100万个客户端同时与一个服务器进程保持着TCP连接。而每一时刻,通常只有几百上千个TCP连接是活跃的(事实上大部分场景都是这种情况)。如何实现这样的高并发? 在select/poll时代,服务器进程每次都把这100万个连接告诉操作系统(从用户态复制句柄数据结构到内核态),让操作 阅读全文
posted @ 2018-05-17 17:25 CTHON 阅读(839) 评论(0) 推荐(1) 编辑