我知道当我使用套接字或文件时我可以将其设置为非阻塞并使用epoll
例如创建异步服务器,但我怀疑的是当我没有像发生的文件描述符时例如,使用套接字,想象一下数据库中的查询,如何在不阻塞我的线程的情况下进行查询,并传递类似Node.js上发生的回调
例如:
queryDB("select something from mytable", my_callback);
并且queryDB立即返回。
我怀疑如何使用此行为创建此函数queryDB。
答案 0 :(得分:1)
如果不引入单独的调用堆栈,则不能异步使用同步接口。顺便说一下,操作系统 是你的I / O线程。
启动单个线程,从原子队列弹出查询,发出完成信号。