自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

rotation博客

博观而约取 厚积而薄发

  • 博客(10)
  • 问答 (2)
  • 收藏
  • 关注

原创 Linux进程间通信之POSIX消息队列

消息队列可认为是一个消息链表,它允许进程之间以消息的形式交换数据。有足够写权限的进程或线程可往队列中放置消息,有足够读权限的进程或线程可从队列中取走消息。每个消息都是一个记录,它由发送者赋予一个优先级。与管道不同,管道是字节流模型,没有消息边界。 本文介绍的是POSIX消息队列。POSIX消息队列与System V消息队列的相似之处在于数据的交换单位是整个消息,但它们之间仍然存在一些显著的差异。

2017-07-30 15:49:23 3315

原创 Linux进程间通信之管道

IPC是进程间通信(interprocess communication)的简称。我们在这里对有关管道的知识进行总结。 我们将介绍三种管道:管道(pipe)。管道是第一个广泛使用的IPC形式,既可在程序中使用,也可以从shell中使用。管道只能在具有共同祖先(指父子进程关系)的进程间使用。FIFO。FIFO是管道概念的一个变体,FIFO(First In First Out,先进先出),也叫有

2017-07-29 11:04:13 1010

原创 c++通过cout输出字符变量的地址

今天,我遇到了这样的一种情况,我想输出一个字符串的首地址。 那么该怎么输出呢?通常我们可能的想法是直接cout啊。 比如:char ss[20]="hello";cout<<ss<<endl; 运行结果: hello我们会发现,ss存储的值虽然是一个地址,但我们执行cout的时,实际上它会输出ss指向的字符串。 那该怎么办?我在输出的时候其实考虑到上面的情况了,然后我想了想,如果

2017-07-22 17:01:40 9578

原创 linux下c++连接mysql数据库

在Linux下,我们可以通过MySQL提供的C API连接数据库。 使用c++连接mysql数据库除了要安装mysql-client和mysql-server,还需要安装mysql的开发包mysql-devel。 我的系统是fedora,安装命令如下:sudo yum install mysql-devel。 然后在文件前加上常用函数: 函数 说明 MYSQL *mysql_init

2017-07-21 22:07:00 18838 4

原创 MySQL5.7免密重置root密码

好久没登录mysql,忘记数据库root密码了 = =。在网上找了很多重置root密码的博客,由于搜到的那些博客记录的mysql版本太老了,方法不能用。无奈,我只好删了重装mysql,但是不知为何重装完还是需要之前的密码,简直心态爆炸。最终请教小伙伴,找到了免密重置mysql密码的方法,在此记录一下。我的系统是Fedora25,MySql的版本是5.7。 修改密码如下: 1.在配置文件 /etc

2017-07-20 17:59:46 4794

原创 I/O多路复用之比较select&poll&epoll

终于把I/O多路复用的几篇总结写完了,也算是下了不少功夫吧。期间收到私信,说希望我能持久更新。很开心自己写的东西,能够帮到别人。好了,废话不多说了,通过这篇博客总结一下三种多路复用I/O的异同。前面我们讨论了select,poll和epoll三组I/O复用系统调用,这3组系统调用都能同时监听多个文件描述符。它们将等待由timeout参数指定的超时时间,直到一个或者多个文件描述符上有事件发生时返回,返

2017-07-20 16:35:36 3362

原创 I/O多路复用之epoll

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

2017-07-19 23:04:36 3361

原创 I/O多路复用之水平触发和边沿触发模式

多路I/O复用不管是select,poll还是epoll,其都是通过同时监听多个文件描述符,当有文件文件描述符处于就绪状态时,触发通知。LT(Level Trigger,水平触发)模式和ET(Edge Trigger,边沿触发)模式是两种文件描述符准备就绪的通知模式。水平触发通知:如果文件描述符上可以非阻塞地执行I/O系统调用,此时认为它已经就绪,触发通知。 边沿触发通知:如果文件描述符自上次状态

2017-07-18 22:36:01 9415 1

原创 I/O多路复用之poll

由于poll是对select的改进,poll的功能和select的功能一样,只不过是参数稍微不同,poll的底层原理也和select差不多。 对多路复用select()不太熟悉的可以参考这篇博文:I/O多路复用之select 我们首先回忆一下 select接口 :int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exc

2017-07-18 14:29:59 12831

原创 I/O多路复用之select

I/O复用使得程序能同时监听多个文件描述符,这对提高程序的性能至关重要。通常,网络程序在下列的情况下需要使用I/O复用技术:客户端程序要同时处理多个socket。客户端程序要同时处理用户输入和网络连接。TCP服务器要同时处理监听socket和连接socket。这是I/O多路复用使用最多的场合。服务器要同时处理TCP请求和UDP请求。服务器要同时监听多个端口,或者处理多种服务。需要指出的是

2017-07-17 22:25:08 3381

空空如也

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

TA关注的人

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