问题标签 [single-threaded]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
753 浏览

javascript - JavaScript 中的 setInterval 和 clearInterval 作为单线程语言

我在理解JavaScript中的工作方式setInterval和工作方式时遇到了问题。clearInterval

我已经阅读了关于这两个功能的不同文章,但我仍然感到困惑。

鉴于 JavaScriptsingle thread在我们调用时,test=setInterval(function(){}, t)我们将安排我们的函数每t毫秒执行一次。除非我们clearInterval(test)

  • 这意味着什么?这是否意味着clearInterval我们已经在 J​​avaScript 队列中canclesetInterval
  • 如果我们setInterval多次但clearInterval只有一次会发生什么?
  • 我们可以clearInterval进去setInterval吗?
  • JavaScript 如何处理预定的进程?
0 投票
1 回答
3068 浏览

java - NodeJS 和 Go 语言的单线程如何优于 Java 的多线程?

我想比较 NodeJS、Go lang 和 Java。我搜索并发控制。结果是Java的并发控制是多线程的,NodeJS和Go lang的并发控制是单线程的。那么,我想知道 NodeJS 和 Go 语言的单线程如何优于 Java 的多线程?

谁能帮我 ?对于每条评论都是 Ty。

0 投票
2 回答
835 浏览

java - 延迟启动的单线程

我想做的是:按一个按钮更改简单的值。如果值保持 3 秒不变,我想执行我的方法。所以我需要一个线程,它会在每次按钮单击时启动(并杀死所有其他线程)。我知道

但不能有延迟。这样做的最佳做法是什么?

0 投票
1 回答
53 浏览

node.js - 单 CPU 机器上基于事件循环的应用程序

据我了解,基于事件循环的应用程序有一个始终在运行的线程。我很想了解这些在单个 CPU 机器上的行为。

编辑:这不是专门针对 node.js 应用程序。我见过用 Java 编写的实现事件循环的应用程序有一个在无限循环中运行的线程。

0 投票
1 回答
350 浏览

node.js - Node.js 单线程 VS Tranditonal webserver 线程池

我是 node.js 的新手。我目前正在阅读Basarat Ali Syed的名为“ Beignning Node.js ”的书。

以下是其中的一段摘录,说明了传统 Web 服务器线程池的缺点:

几年前,大多数 Web 服务器使用线程池这种方法,并且许多服务器今天仍在使用。然而,这种方法并非没有缺点。线程之间再次浪费了 RAM。此外,操作系统需要在线程之间进行上下文切换(即使它们处于空闲状态),这会导致 CPU 资源的浪费。

我不太明白为什么线程池内的线程之间会有上下文切换。据我所知,一个线程将在任务期间持续。并且一旦任务完成,线程就可以自由地接收下一个任务。

所以我的Q1:为什么需要上下文切换?线程之间的上下文切换何时发生?

我的Q2:为什么node.js不使用多线程来处理事件队列中的事件?不是更高效,减少事件的排队时间吗?

0 投票
2 回答
34 浏览

javascript - javascript异步调用和单线程模型

在 javascript 时间线的执行阶段,会发生事件,异步调用已注册的事件处理程序。根据我在异步调用方面的知识,程序执行不会等待任务完成,而是移动到下一个任务。那么任何人都可以解释javascript如何处理注册到单个事件的2个事件处理函数的异步执行吗?

javascript解释器是否只是调用第一个事件处理程序并移动到第二个事件处理程序并且第一个事件处理程序的执行部分由另一个线程执行?

而且我已经读过javascript遵循单线程模型,那么它如何适应?

0 投票
2 回答
1513 浏览

javascript - 什么事件指定了 node.js 中的刻度何时结束?

我读过滴答是一个执行单元,nodejs事件循环决定运行其队列中的所有内容,但除了明确说明process.nextTick()哪些事件导致node.js事件循环开始处理新的滴答?是否在等待 I/O?cpu绑定计算呢?还是每当我们输入一个新功能时?

0 投票
1 回答
509 浏览

java - 为什么java单线程程序使用futex和clone系统调用

这是一个单线程 java 程序,使用递归查找作为参数传递的给定数字的阶乘。

我想知道为什么它使用如此多的 futex 和 clone 系统调用用于作为单线程运行的程序。

0 投票
2 回答
126 浏览

php - 单个 PHP 线程响应两个异步 ajax 请求

我正在两个设备之间实现同步过程。网络和移动。我已经计划了一个算法,但不确定其实现的可能性。我的算法是,

  1. Mobile 将向 PHP 脚本生成一个 ajax 请求,以将其数据同步到数据库中。
  2. PHP脚本启动一个事务,然后将数据插入到手机发送的数据库中,并收集它必须发送到手机的数据并发送resposce但不提交。
  3. 移动端接收响应,启动事务,并发送另一个 ajax 请求作为对 php 脚本的确认并在移动端提交。
  4. PHP脚本接收确认ajax请求并提交我在setp 2中开发的数据。

我的问题是,是否可以使用单个 php 线程来处理两个同步 ajax 请求?

0 投票
4 回答
3321 浏览

javascript - 我可以强制浏览器在 javascript 执行期间呈现 DOM 更改吗

有没有办法强制浏览器在 JavaScript 执行期间呈现 DOM 更改?在下面的示例中,只会显示“1000”,我知道这是由于只有一个线程处理 JavaScript 执行造成的,但我想知道是否有办法强制浏览器呈现每个 DOM 更改?

例子: