问题标签 [executioncontext]

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 投票
1 回答
287 浏览

scala - 是否将隐式执行上下文传递给 .par 操作?

我有这种情况:

  • 方法a:创建隐式ec

  • 方法 a:调用 Future 中的另一个方法,即Future(anotherMethod). anotherMethod,并且其所有后续调用不再具有来自方法 a 的 ec 范围。

示例代码:

我猜想,任何来自或任何后续调用的调用.par,例如someVector.par.map.().seq等,anotherMethod都将使用全局执行上下文,而不是在方法 a 中创建的自定义上下文。我的假设正确吗?

0 投票
1 回答
6047 浏览

c# - 在 Azure Function App 中全局获取 ExecutionContext

我有功能应用程序,并且在一个准备文件并为我存储它的助手类中,我想读取项目文件

我尝试了很多方法,例如(AppDomain、AppContext、....等)和许多其他方法,并且由于它是无服务器的,因此 program.cs 与运行它的函数位于不同的目录中。我想要的是 WebRoot 目录。

我找到了这个https://github.com/Azure/azure-functions-host/wiki/Retrieving-information-about-the-currently-running-function 这给了我我想要的正确路径,使用 FunctionAppDirectory 的 wwwroot .

问题是我需要将 ExecutionContext 传递给 run 函数,然后我需要将它传递给 Helper 类,我无法直接从帮助类中读取它。我在多个地方都有这个。

我如何在应用程序/类中全局获取它。

谢谢。

0 投票
2 回答
60 浏览

javascript - 从另一个对象中调用时的 javascript 函数的 this

根据我的阅读和理解,函数的执行上下文(this)与其声明的位置无关,而与调用它的位置(调用站点)无关。考虑 2 种情况,其中 foo 在全局上下文中定义-

我对第二种情况感到困惑。虽然我理解 x 函数的上下文是 obj,但我无法理解如何从 x 函数(其上下文实际上是 obj)对窗口对象调用 foo?我确信关于这个主题有很多问题,我找不到类似这种例子的东西。谢谢。

0 投票
0 回答
117 浏览

multithreading - 监控全局执行上下文

假设我有一个大型系统,它在许多地方使用 Scala 全局执行上下文来执行不同的期货。并且有一天在这个系统中出现了性能问题(内存转储分析指出原因是GEC中的Futures太多)。我很快就找到了原因,因为我很幸运,但这导致我开始考虑监控执行上下文状态的可能性。

这并不容易,我找不到有关该主题的文章。我破解了 GEC,现在它通过 JMX(QueuedSubmissionCount、QueuedCount 等)公开了几个参数,但仍然不足以判断哪个类导致了泄漏。

我考虑了一个执行上下文的自定义包装器,它将采用一个额外的标识符(类名或其他东西)并计算每个标识符的期货数量。但我相信很多程序员都有同样的问题,也许你有更好的主意?

0 投票
1 回答
80 浏览

typescript - TypeScript:“外包”方法。干净的方式

我目前正在研究一个我在 express 中用作中间件的类。在我进入课堂之前,请记住,稍后我将通过首先创建我的类“Authenticator”的实例然后注入它的方法来注入中间件

所以关键点将是这个函数的执行上下文(this)。这是我到目前为止的代码

备选方案 1

这是有效的。但是我不想在构造函数中编写函数,因为我发现它的代码非常丑陋。像这样将express方法直接放在类中

不工作

将不起作用,因为 express 的执行上下文会给我这个未定义的。所以剩下的就是使用这种替代方法

备选方案 2

现在这也有效,并且是迄今为止我对这个问题的首选解决方案,因为将方法外包给另一个文件并保持我的文件很小也很容易。缺点是绑定。我不是 bind 的忠实拥护者,因为如果我使用相同的参数调用它们,无论从哪里调用它们,我都希望我的函数返回相同的值,在这种情况下,您总是需要将类绑定到它。

是否有更好的解决方案可以从 TypeScript 类中外包一个方法,并且仍然不必使用 bind 注入执行上下文?

0 投票
2 回答
225 浏览

javascript - JavaScript 全局执行上下文

1) 由于函数callDad是全局声明的,因此在调用之前将其保存在全局执行上下文中。
2) 一旦函数callDad被调用,就会创建一个新的执行上下文并在堆栈上执行。

问题:在全局执行上下文中对函数的原始引用会发生什么?该函数是否在内存中存储了两次?

附加问答(供参考)

问:@Bergi 感谢您的回复。我认为问题应该是:由于全局执行上下文已经将函数存储在内存中。为什么新的执行上下文会有新的创建阶段?谢谢

A:@Ash 创建阶段是针对被调用函数体内的变量,具体在你的例子中是 numb

问:@Rodrigo 那么一旦函数被调用,它是从窗口对象中引用的吗?既然函数声明已经存在内存中的引用和创建阶段,那么为什么他们说每个新的执行上下文都有一个新的创建阶段呢?

A: 是的,函数总是从窗口对象中引用。执行上下文只是范围和范围链(闭包中其他范围的变量)。一旦创建了执行上下文,创建阶段就会为该上下文中的变量分配内存。哦,记住,在 JS 中,你有函数作用域,而不是块作用域。

0 投票
0 回答
11 浏览

javascript - Google V8 是我们的代码运行的环境,所以我们可以称它为执行上下文吗?

这些天来,我一直在努力理解 javascript 在幕后是如何工作的,所以它是 Google V8 一个我们的代码运行的环境,所以我们可以称它为执行上下文对吗?

0 投票
1 回答
979 浏览

scala - 如何配置 Akka Http 以实现低延迟

我现在正在调整我的Akka Http server,并且在加载并发请求时会产生非常糟糕的结果。因为我不确定我是否在某个地方有隐藏的阻塞 IO 请求,所以我认为值得从 Akka Http 站点测试示例项目:

或者,您可以使用已经使用 Giter8 模板配置的 Akka HTTP 引导一个新的 sbt 项目:

我已经按照说明进行了引导并在本地主机上运行服务器:

ab我用“ ”工具运行了一些非常简单的测试:

执行顺序请求的简单测试:

我们看到"time per request" is 0.880 ms [mean]在这种情况下

现在我将并发性提高到 5:

现在Time per request急剧增加了 2.040 [ms](平均值)(尽管吞吐量要高得多)

并再次增加多达 50 个并发请求:

这里的延迟非常高,为 13.861 毫秒,而第一种情况为 0.880 毫秒(延迟增加了大约 16 倍)

这个简单的服务器没有阻塞 IO。

我想知道我应该配置什么以保持尽可能低的延迟。

0 投票
1 回答
127 浏览

javascript - Javascript中for ... of循环和执行上下文中的解构赋值

我想深入了解 JS 中的 for...of 循环和解构赋值。以下代码在第 3 行引发错误:“ReferenceError: y is not defined”,但“y”是在 for 循环语句之前定义的。有什么问题?

0 投票
0 回答
47 浏览

javascript - 这个绑定在哪里,es6 和 es5 ECMAScript 定义与那些有什么区别?

我刚刚浏览了 ECMAScript 2018 [ https://www.ecma-international.org/ecma-262/9.0/index.html#sec-lexical-environments]和 ECMAScript 2015 [ http://www.ecma- international.org/ecma-262/6.0/#sec-lexical-environments]了解词法环境和环境记录之间的区别。但是现在我对 Lexical Environment 和 Environment Records 如何在这些规范中定义感到有些困惑。这些文档中的每一个都没有具体说明绑定需要驻留的位置。请告诉我哪个定义对于 ExecutionContexts 是正确的,并且在这两个规范方面是否有一些变化?

或这个 ??