[size=medium]
1、永远阻塞的调用有哪些?
  阻塞,直到函数调用完成为止,否则一直等待。

2、标志位操作
[url]http://xserver.iteye.com/blog/784840[/url]
  set_fl clr_fl

3、轮询(polling)。主动。内核不断尝试,是否能进行I/O
使用了非阻塞,程序不断调用write,但是又没有数据,造成浪费。

  异步I/O(asynchronous I/O)。被动。通知内核进行I/O
[url]http://www.groad.net/bbs/simple/?t950.html[/url]

4、线程在I/O调用中阻塞,但线程间同步的开销有可能增加复杂性,可能导致得不偿失。

5、读锁、写锁、局部锁(记录锁,record locking,更适合的术语byte-range locking)
  5.2 锁的继承与释放(多进程 与 单进程效果不同)
p.s 不能测试自己加的锁。只会返回F_UNLCK :cry:
[url]http://blog.chinaunix.net/u/30503/showart_2327622.html[/url]
[url]http://www.linuxdiyf.com/bbs/redirect.php?tid=84178&goto=lastpost[/url]

6、STREAMS

7、I/O多路转接(I/O multiplexing)[/size]

#include <sys/select.h>int select(int maxfdpl,    fd_set *restrict readfds,    //  可读    fd_set *restrict writefd,  // 可写    fd_set *restrict exceptfds, // 异常    struct timeval *restrict tvptr);  //  等待的时间

//  restrict是c99引入的,它只可以用于限定指针,并表明指针是访问一个数据对象的唯一且初始的方式

#include <poll.h>int poll(struct pollfd fdarray[], nfds_t nfds, int timeout);

#include <sys/uio.h>   //  散布读(scatter read)聚集写(gather write)ssize_t  readv(int filedes, const struct iovec *iov, int iovcnt);ssize_t writev(int filedes, const struct iovec *iov, int iovcnt);

[size=medium]

8、存储映射I/O
[/size]

Chapter 14相关推荐

  1. halcon算子盘点:Chapter 13:对象、Chapter 14 区域

    Chapter 13:Object 13.1 Information 1. count_obj  功能:统计一个元组中的对象. 2. get_channel_info  功能:一幅目标图像组成部分的信 ...

  2. Chapter 14 Greenplum PL/R Language Extension

    Chapter 14 Greenplum PL/RLanguage Extension This chaptercontains the following information: •    Abo ...

  3. 14版计算机专业英语,Chapter 14 Virtual Reality 《计算机专业英语》电子教案.ppt

    Chapter 14 Virtual Reality <计算机专业英语>电子教案 Computer English Chapter 14 Virtual Reality *计算机专业英语 ...

  4. python对象模型映射_【500 Lines or Less】-【翻译练习】-【chapter 14】-【简单对象模型】-【第一部分】...

    date: 2017-10-08 15:31:46 Carl Friedrich Bolz是伦敦国王大学的研究员,对动态语言的实现及优化兴趣浓厚.他是 PyPy/RPython 的核心贡献者之一,并为 ...

  5. Chapter 14: Overloaded Operations And Conversions

    Exercises Section 14.1 Ex14.1 不同点:重载操作符必须至少有一个类类型或枚举类型的操作数:重载操作符不保证操作数的求值顺序. 相同点:有相同的优先级和结合性,操作数的数目不 ...

  6. Chapter 14 Exercises Problems

    转载于:https://www.cnblogs.com/momoko/p/4937730.html

  7. 学习总结-《父与子的编程之旅》chapter 14

    本章主要讲对象. 此篇往后 先只附上代码示例,内容之后有空再来填补. 示例: class Hot_dog:def __init__(self):self.cooked_level = 0self.co ...

  8. c++ primer 第14章 习题解答

    14.1节 14.1答 不同点: 重载操作符必须具有至少一个class或枚举类型的操作数. 重载操作符不保证操作数的求值顺序,例如对&&和| | 的重载版本不再具有"短路求值 ...

  9. 数据挖掘与分析课程笔记(Chapter 7)

    数据挖掘与分析课程笔记 参考教材:Data Mining and Analysis : MOHAMMED J.ZAKI, WAGNER MEIRA JR. 文章目录 数据挖掘与分析课程笔记(目录) 数 ...

最新文章

  1. 分享我如何在7年时间里成长为阿里Java架构师(附学习路线图)
  2. C# 中的Async 和 Await 的用法详解
  3. 推理成本降低48倍!1张GPU就能让静态图像动起来 | 格拉兹科技大学Facebook
  4. iOS RunLoop简介
  5. html range关联文本框,HTML5gt;meter标签与input(type=range)标签结合制作简易范围指示器...
  6. 4.MyBatis全局配置文件SqlMapConfig.xml
  7. 服务器销售税率,转销售云服务器税率
  8. 楼层效果_1一28高楼最好最吉利的楼层是哪层?选楼层要注意什么?
  9. tpm php,TPM系列
  10. Latex快速入门系列 -- 在TexStudio中正确插入参考文献的基本操作
  11. java ajax多文件上传插件_ajaxFileUpload.js插件支持多文件上传的方法
  12. Mybatis 单独项目
  13. Cocos2d Box2D之简介
  14. 在LoadRunner中查找和替换字符串
  15. 商业计划书范文3000_项目融资商业计划书模板范文PPT
  16. 让Visio2007/2003支持UML2.2
  17. 数学建模评价类方法01——灵敏度分析
  18. 英文之妙语连珠超级94句
  19. 川大《计算机应用基础》第二次作业,川大16秋《计算机应用基础》第二次作业答案.pdf...
  20. 腾讯视频网页版无法连接服务器失败怎么办,腾讯视频突然不能投屏怎么解决 腾讯视频突然不能投屏解决方法...

热门文章

  1. 智能安防视频监控平台页面无法访问该如何排查?
  2. 银行安防视频监控系统设计
  3. 5g通用模组是什么_5G通用模组需要做哪些温湿度可靠性测试?
  4. 基于winform的打印标签模板设计器以及打印辅助类
  5. Android Xposed 框架
  6. 《计算之魂》读书笔记 04
  7. MyBatis一发入魂之插入操作
  8. 【Java】一个公司职员薪水管理系统(顺序表)
  9. 360浏览器代码修改浏览模式
  10. 机器学习_深度学习毕设题目汇总——语音