自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 I/O多路复用之epoll

epoll()是Linux特有的I/O复用函数。它在实现和使用上与select,poll有很大的差异。 关于select和poll可以参考:I/O多路复用之select , I/O多路复用之poll 首先,epoll使用一组函数来完成任务,而不是单个函数。其次,epoll把用户关心的文件描述符上的事件放在内核里的一个事件表中,从而无须像select和poll那样每次调用都要...

2018-02-24 13:51:41 362

原创 高级I/O函数

我们来介绍几个和网络编程相关的高级I/O函数。 用于创建文件描述符的函数:pipe、dup/dup2 用于读写数据的函数:readv/writev、fendfile、mmap/munmap、splice和tee函数。 用于控制I/O行为和属性的函数:fcntl1,pipe pipe函数可用于创建一个管道,以实现进程间通信。 pipe函数的定义如下:#include<un...

2018-02-23 03:00:13 538

转载 用GDB调试程序

用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺...

2018-02-21 14:59:37 266

原创 I/O多路复用

关于I/O多路复用:I/O多路复用(又被称为“事件驱动”),首先要理解的是,操作系统为你提供了一个功能,当你的某个socket可读或者可写的时候,它可以给你一个通知。这样当配合非阻塞的socket使用时,只有当系统通知我哪个描述符可读了,我才去执行read操作,可以保证每次read都能读...

2018-02-19 21:33:38 535

转载 socket读写返回值

在调用socket读写函数read(),write()时,都会有返回值。如果没有正确处理返回值,就可能引入一些问题总结了以下几点1当read()或者write()函数返回值大于0时,表示实际从缓冲区读取或者写入的字节数目2当read()函数返回值为0时,表示对端已经关闭了 socket,这时候也要关闭这个socket,否则会导致socket泄露。netstat命令查看下,如果有clos...

2018-02-19 21:23:30 1399

原创 多线程编程

之前的博客中有介绍过线程,但有些内容不够完整,这篇文章是对线程的总结以及介绍线程安全问题。linux线程基础知识线程的优点: (1)创建一个新线程的代价要比创建一个新进程小的多 (2)与进程之间的切换相比,线程之间的切换需要操作系统所做的工作少的多 (3)线程占用资源要比进程少的多 (4)能充分利用多处理器的可并行数量 (5)在等待慢速I/O操作的同时,程序可执行其他操作 (6...

2018-02-08 00:00:16 315

原创 模拟实现sleep函数

先来介绍几个函数:1,sleep 若进程/线程挂起到参数所指定的时间则返回0,若有信号中断则返回剩余秒数。2,pause pause函数使进程挂起直到有信号递达。如果信号的处理动作是终止进程,则进程终止,pause函数没有机会返回;如果信号的处理动作是忽略,则进程继续处于挂起状态,pause不返回;如果信号的处理动作是捕捉,则调用了信号处理函数后pause返回-1,errno设

2018-02-07 15:09:42 1192

原创 【linux】:信号

什么是linux中的信号呢? 举个栗子: 其实就类似于现实中肚子叫了发出一个信号表示你饿了,而这个时候你正在工作,那么你可以选择忽略它,或者暂停你手中的工作去吃点东西来处理这个信号。信号本质上就是软件层次上对中断机制的模拟用kill -l命令可以查看linux下的信号列表 信号是异步的,一个进程不必通过任何操作来等待信号的到达。产生信号的方式: 1,用户在终端按下某些键时,

2018-02-06 23:50:48 525

原创 进程间通信总结

之前的博客中介绍过进程间通信的机制,这篇文章主要用来总结。进程间通信 理论基础:进程具有独立性,有一份公共的资源让多个进程同时看到。一,管道 1,匿名管道 本质:内核提供的一段内存创建: pipe——fd[0]:读 fd[1]:写销毁: 所有打开了该管道的进程都销毁的时候销毁(引用计数减为0),生命周期随进程。特性: (1)用于有亲缘关系

2018-02-05 21:16:49 543

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除