概述 System V IPC引入了3中通信方式,本文主要介绍消息队列 System V IPC不再以文件的形式存在,因此没有文件描述符这个东西,但是它有类似的“标识符”。完全可以认为这个“标识符”就是文件描述符的替代者,但是它是专门给System V IPC使用的,所以我们不能使用文件IO函数来操 ...
分类:
其他好文 时间:
2018-07-30 21:25:16
阅读次数:
161
先是randy回来讲了一节io的内容,randy讲的显然比david好太多了,然而还是感觉听得云里雾里。实际上感觉第十章也没什么内容,无非就是讲了些底层的io函数,并且告诉你这些东西基本没什么叼用,一般还是要用unix给的标准io函数...或者也可以用自己implement的io函数,书上写了一套叫 ...
分类:
系统相关 时间:
2018-07-25 20:13:25
阅读次数:
184
1. gdb调试2. makefile的编写3. 系统IO函数1. gdb调试: 1. 启动gdb + 可执行文件 2. 查看代码: l==list l (默认给出main函数的前十行)(再次输入l会给继续列出后面的内容 之后可以按回车即可) l 行号(或函数名) l filename:行号(或函数 ...
分类:
系统相关 时间:
2018-05-19 20:36:16
阅读次数:
275
学习了一段时间的Linux了,但是我感觉我做不出来啥子,后头选择利用系统IO函数实现命令,先从ls走起吧。先来看看ls -lfilename给我们显示了什么吧 : 可以看到,一共八项:文件类型、用户权限、文件硬连接数目、文件所有者、文件所属组、占用空间大小、文件修改日期、文件名。下面我们一个一个实现... ...
分类:
其他好文 时间:
2018-04-05 17:36:33
阅读次数:
218
0 设计 EpollPoller继承自Poller,为的是能够使用epoll和poll两种io函数。(这貌似是策略模式?记不清了) 1 源码 EpollPoller.h EpollPoller.cc 3 channels_ 存在的意思 epoll 没有办法保存已有的所有的在监听的文件描述符,因为ep ...
分类:
其他好文 时间:
2018-03-27 14:30:23
阅读次数:
176
我们先看一下libco协程库的特性描述 对于其第三点特性,支持gethostbyname、mysqlclient、ssl等常用第三库。这说明什么?说明它们的网络IO函数,使用的是libco中的网络IO函数,不然进入不了协程调度。那么lobco是如何实现的呢?如果你善于运用搜索引擎,一定会找到一些文章 ...
分类:
其他好文 时间:
2018-02-22 23:50:45
阅读次数:
1918
python中的基本IO函数: 1) 键盘输入函数:raw_input(string),不作处理的显示,与返回。 input(string),可以接受一个python表达式作为返回,python内部得到计算结果 2) 文件句柄(file)对象: file对象的创建必须通过open()函数来得到, f ...
分类:
编程语言 时间:
2018-01-08 20:14:47
阅读次数:
124
学习IO的时候,我们都曾经利用文件IO函数,标准IO函数都实现了对文件的拷贝, 对某一个文件进行拷贝时,我们可以考虑一下几种方式: a.单进程拷贝: 假设某一文件需要拷贝100字节,每一个时间片可以完成拷贝20个字节工作量,则需要被分配5个时间片才可以完成任务,但问题是这些个时间片并不是被连续分配的 ...
分类:
系统相关 时间:
2017-12-08 01:22:22
阅读次数:
255
项目简介和code见《同步异步和阻塞2-测试小项目》 1. 实现 同步的实现很简单,依次call2次 IO() 函数,此时OnStart()由于是在主线程中调用的,IO()函数会阻塞主线程,当IO()完成后然后将结果通知给UI后立即返回。 当然,由于IO是阻塞的,所以所谓的IO处理进度是无法实现的, ...
分类:
其他好文 时间:
2017-11-04 19:29:15
阅读次数:
215
handle_slave_io函数调用read_event函数:read_event函数从连接中读取事件,如果没有事件将会阻塞在这里等待master发送事件。#00x00898402in__kernel_vsyscall()
#10x00c28133inpoll()from/lib/libc.so.6
#20x08a90315invio_io_wait(vio=0xa82faa8,event=VIO_IO_EVENT_READ,tim..
分类:
数据库 时间:
2017-10-11 22:33:06
阅读次数:
242