前言
记录一些招聘公司在招聘嵌入式软件岗位时的一些问题,此文为第八篇。
一、进程&线程
1、异步 IO 和同步 IO 区别?
答:如果是同步 IO,当一个 IO 操作执行时,应用程序必须等待,直到此 IO 执行完。相反,异步 IO 操作在后台运行,IO 操作和应用程序可以同时运行,提高系统性能,提高 IO 流量。
解读:在同步文件 IO 中,线程启动一个 IO 操作然后就立即进入等待状态,直到 IO 操作完成后才醒来继续执行。而异步文件 IO 中,线程发送一个 IO 请求到内核,然后继续处理其他事情,内核完成 IO 请求后,将会通知线程 IO 操作完成了。