没有线程我们可以有异步行为吗?

时间:2018-03-26 04:22:34

标签: asynchronous

关于程序的异步功能的讨论通常会转向Futures,Promises等,这反过来又涉及多线程环境。

是否可以在不诉诸多个线程的情况下编写异步程序?

1 个答案:

答案 0 :(得分:0)

如果没有多个工作人员,您就无法实现异步。

即使您不直接控制它们(例如:如NodeJS),它们仍然存在于后台。因此,在这些语言中,您可以在不明确使用线程/分支的情况下使用它们。

例如:

var fs = require("fs");
fs.readFile('example.txt',function(err,data){
    if(!err) {
     console.log(data);
    }
}); // 'fs.readFile' is async

console.log("something else"); // This will be executed right after the line above, and most likely the file ain't read yet.