javascript中的每个函数调用实际上都是一个新线程吗?
我来自C语言背景,发现javascript的异步性非常酷。然而,我不知道事情是如何异步的。是否每个函数调用实际上都是一个新线程?不,它不是一个新线程:它正在运行一个事件循环 C语言中工作方式相同的系统示例:javascript中的每个函数调用实际上都是一个新线程吗?,javascript,multithreading,node.js,Javascript,Multithreading,Node.js,我来自C语言背景,发现javascript的异步性非常酷。然而,我不知道事情是如何异步的。是否每个函数调用实际上都是一个新线程?不,它不是一个新线程:它正在运行一个事件循环 C语言中工作方式相同的系统示例: 基于选择的轮询—您停留在一个线程上,处理select的结果,然后再次调用select以获取下一个要处理的内容 经典的Win32编程,将消息发送到事件队列。该程序的核心是“退出消息。分派消息。重复,直到收到退出消息” 几乎所有其他构建的GUI编程环境:-) 虽然你可以把它看作是一个一次近似
- 基于选择的轮询—您停留在一个线程上,处理select的结果,然后再次调用select以获取下一个要处理的内容
- 经典的Win32编程,将消息发送到事件队列。该程序的核心是“退出消息。分派消息。重复,直到收到退出消息”
- 几乎所有其他构建的GUI编程环境:-)
虽然你可以把它看作是一个一次近似的线程,但它并不是真的。线程并行运行,事件串行运行。您永远不必担心并发访问数据,但您确实需要担心事件循环被饿死(没有足够频繁地返回到它)。不,它不是一个新线程:它正在运行一个事件循环 C语言中工作方式相同的系统示例:
- 基于选择的轮询—您停留在一个线程上,处理select的结果,然后再次调用select以获取下一个要处理的内容
- 经典的Win32编程,将消息发送到事件队列。该程序的核心是“退出消息。分派消息。重复,直到收到退出消息”
- 几乎所有其他构建的GUI编程环境:-)
虽然你可以把它看作是一个一次近似的线程,但它并不是真的。线程并行运行,事件串行运行。您永远不必担心并发访问数据,但您必须担心事件循环被饿死(没有足够频繁地返回到它)。
这就是我在其中编程的方式。您能详细说明一下吗?您可能会发现线程、事件队列和异步ajax很有帮助。这就是我在其中编程的方式。
。你能详细说明一下吗?你可能会发现线程、事件队列和异步ajax很有帮助。