Linux C/C++
文章平均质量分 79
JimmySun_QC
这个作者很懒,什么都没留下…
展开
-
Linux网络编程入门(一)
(一)Linux网络编程--网络知识介绍Linux网络编程--网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户端 在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。 比如我们使用ftp程序从另外一 个地方获取文件的时候,是我转载 2015-01-30 15:21:32 · 354 阅读 · 0 评论 -
Linux网络编程入门(二)
(七)Linux网络编程--7. TCP/IP协议你也许听说过TCP/IP协议,那么你知道到底什么是TCP,什么是IP吗?在这一章里面,我们一起来学习这个目前网络上用最广泛的协议. 7.1 网络传输分层 如果你考过计算机等级考试,那么你就应该已经知道了网络传输分层这个概念.在网络上,人们为了传输数据时的方便, 把网络的传输分为7个层次.分别是:应用层,表示层,会话转载 2015-01-30 15:24:25 · 442 阅读 · 0 评论 -
EPOLL
1.简介 Linux I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。Linux 2.6内核中有提高网络I/O性能的新方法,即epoll 。 epoll是什么?按照man手册的说法是为处理大批量句柄而作了改进的poll。要使用epoll只需要以下的三个系统函数调用: epoll_create(2),epoll_ctl(2),epoll_wait(转载 2015-04-27 16:24:08 · 401 阅读 · 0 评论 -
C++ 线程池的封装实现
为了充分利用多核的优势,我们利用多线程来进行任务处理,但线程也同样不能滥用,会带来一下几个问题:1)线程本身存在开销,系统必须为每个线程分配如栈,TLS(线程局部存储),寄存器等。2)线程管理会给系统带来开销,context切换同样会给系统带来成本。3)线程本身是可以重用的资源,不需要每次都进行初始化。所以往往在使用中,我们无需把线程与task任务进行一对一对应,只需要预先转载 2015-04-30 14:32:00 · 244 阅读 · 0 评论 -
线程池的设计与测试
编写了一个最基本的线程池类,处理用c_work表示的工作任务。C++还很不熟练,欢迎会C++的提出宝贵的修改意见。程序有注释,所以应该很好读懂。测试程序在下面。[cpp] view plaincopyprint?//////////////////////////////////////////////////////转载 2015-04-30 14:28:27 · 355 阅读 · 0 评论 -
C和C++内存模型
C分为四个区:堆,栈,静态全局变量区,常量区c++分为四个区:堆,栈,静态全局变量去,常量区,自由存储区。 根据c/c++对象生命周期不同,c/c++的内存模型有三种不同的内存区域,即自由存储区,动态区、静态区。自由存储区:局部非静态变量的存储区域,即平常所说的栈动态区: 用operator new ,malloc分配的内存,即平常所说的堆静态区:全局变量 静态变量 字符串转载 2015-07-08 08:58:30 · 434 阅读 · 0 评论