Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的每个函数调用实际上都是一个新线程吗?_Javascript_Multithreading_Node.js - Fatal编程技术网

javascript中的每个函数调用实际上都是一个新线程吗?

javascript中的每个函数调用实际上都是一个新线程吗?,javascript,multithreading,node.js,Javascript,Multithreading,Node.js,我来自C语言背景,发现javascript的异步性非常酷。然而,我不知道事情是如何异步的。是否每个函数调用实际上都是一个新线程?不,它不是一个新线程:它正在运行一个事件循环 C语言中工作方式相同的系统示例: 基于选择的轮询—您停留在一个线程上,处理select的结果,然后再次调用select以获取下一个要处理的内容 经典的Win32编程,将消息发送到事件队列。该程序的核心是“退出消息。分派消息。重复,直到收到退出消息” 几乎所有其他构建的GUI编程环境:-) 虽然你可以把它看作是一个一次近似

我来自C语言背景,发现javascript的异步性非常酷。然而,我不知道事情是如何异步的。是否每个函数调用实际上都是一个新线程?

不,它不是一个新线程:它正在运行一个事件循环

C语言中工作方式相同的系统示例:

  • 基于选择的轮询—您停留在一个线程上,处理select的结果,然后再次调用select以获取下一个要处理的内容
  • 经典的Win32编程,将消息发送到事件队列。该程序的核心是“退出消息。分派消息。重复,直到收到退出消息”
  • 几乎所有其他构建的GUI编程环境:-)

虽然你可以把它看作是一个一次近似的线程,但它并不是真的。线程并行运行,事件串行运行。您永远不必担心并发访问数据,但您确实需要担心事件循环被饿死(没有足够频繁地返回到它)。

不,它不是一个新线程:它正在运行一个事件循环

C语言中工作方式相同的系统示例:

  • 基于选择的轮询—您停留在一个线程上,处理select的结果,然后再次调用select以获取下一个要处理的内容
  • 经典的Win32编程,将消息发送到事件队列。该程序的核心是“退出消息。分派消息。重复,直到收到退出消息”
  • 几乎所有其他构建的GUI编程环境:-)

虽然你可以把它看作是一个一次近似的线程,但它并不是真的。线程并行运行,事件串行运行。您永远不必担心并发访问数据,但您必须担心事件循环被饿死(没有足够频繁地返回到它)。

这就是我在其中编程的方式。您能详细说明一下吗?您可能会发现线程、事件队列和异步ajax很有帮助。
这就是我在其中编程的方式。
。你能详细说明一下吗?你可能会发现线程、事件队列和异步ajax很有帮助。