异步IO 2

1.1万 未经授权,禁止转载了解课程
课程介绍
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
适合人群
Linux嵌入式、安卓、单片机等嵌入式、物联网开发者
你将会学到
本章很重要,是Linux嵌入式学习后续都会用到的内容,通过本章的学习,快速学习高级IO相关API的使用。
课程简介

点击右方"佳嵌"图标,可以查看所有课程。

本章的课程内容安排如下:

1.非阻塞IO

 如何将阻塞的读写设置为非阻塞的读写。


2.文件锁

 故名思意,用于对文件进行加锁以实现保护,文件所有的实现有两种方式

 1)使用fcntl函数实现

 2)使用flock函数实现

 

 文件锁不仅能够用于多进程之间,也能够用于多线程之间,学习文件锁时,我们会与进程信号量来进行对比介绍。


3.多路IO

 两种,一种是select,另一种的是poll机制。   

    

4.异步IO

 异步io的本质其实就是SIGIO信号的使用,这个SIGIO信号在讲“信号”这一章时提到过,不过当时就说过,需要到本章异步IO时在详细介绍。


5.存储映射

 采用传统read、write方式来读写文件,实际上效率不是很高,如果数据量少的话,效率问题并不明显,所以数据量小时一般还是采用

 普通的read、write方式来读写文件,但是当涉及到大量数据时,read、write的效率就非常低了,此时必须使用存储映射的方式来读写

 文件,学习存储映射时,大家会发现其实现原理与IPC中的“共享内存”非常的相似。

 

 本章内容在后面的Linux驱动课程中会使用到,所以请认真学习本章课程。



展开更多
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
{{pageType === 'video' ? '讨论区抢占沙发,可获得双倍学分' :'讨论区空空如也,你来讲两句~'}}
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
提问

讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。

记录时间点
记录提问时视频播放的时间点,便于后续查看
公开提问
提交