提问人:Ali Berat Çetin 提问时间:3/2/2022 更新时间:3/2/2022 访问量:36
关于在操作系统级别实现异步编程的问题
Questions about the implementation of async programming on OS level
问:
我不相信一些关于异步编程实现的说法。
我知道,如果线程请求“任何”IO 操作,例如读取文件描述符(stdin、stdout 等)的缓冲区、监听管道、在套接字或硬盘驱动器上读取和写入,会立即将相应的线程发送到“阻塞状态”。CPU 不会处理此线程,直到它转到“就绪状态”。
我的问题是,程序如何利用单个(主)线程来执行 IO 任务,而无需创建分配给每个 IO 任务的多个线程。
我的第二个问题是,如果异步编程是通过多个线程实现的,即使它们是轻量级线程,为什么在 NodeJS 或 Javascript 等情况下它被称为单线程。
我的第三个问题是,如果异步编程是通过多线程实现的,它如何提供内存效率?
感谢您的回答。
答: 暂无答案
评论