问题标签 [order-of-execution]

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 回答
894 浏览

vb.net - VB.net - 代码执行顺序?

我有一个简单的 GUI,我只是存储系统信息并显示结果。

两个问题区域是detectADUCdetectExchange子的。只有当我在 form_load 事件的订单上方放置一个标签时,才会更新相应的标签。

我在想也许我需要发布一些东西?我在某处持有价值吗?请看下面。

检测交换

检测ADUC

调用潜艇

如您所见,唯一不同的是变量名称、服务名称和它更新的标签。- 但是只有一个标签会更新,这取决于我在 form_load 中首先调用的标签。

我试过使用Me.Refresh, - 我试过添加一个新类,然后创建一个公共共享子,然后在 form_load 中引用它。

我什至将交换异常捕获重命名为ex2

有人可以解释这个问题,以便我理解并避免未来的问题吗?

0 投票
1 回答
154 浏览

performance - 乱序硬件:它有多“智能”?

我正在从事一个对性能至关重要的项目,其中每个时钟周期在我最重要的内部循环中都很重要。我正在考虑重组代码以隐藏指令延迟,但我想知道现代 CPU 的乱序执行硬件在多大程度上已经为我做到了这一点。考虑以下(简单的、假设的)示例:

我的问题是以下哪一项适用:

  • 现代主流的乱序硬件将对imul三个add指令之前的指令重新排序,即使add指令以编程方式出现在指令之前,imul并且在它们被解码时它们的所有输入依赖项都可用。具有imuladd指令更长的延迟,并且在依赖链中立即使用,因此这是最佳的。

  • 乱序执行仅在由于缺少输入依赖项而在解码时无法以编程方式执行的较早指令时发生。不能指望硬件“向前看”来动态优化这样的事情。

0 投票
4 回答
5185 浏览

java - Java:尝试执行所有行,还是跳转到捕获?

我想知道 java try-catch 语句的执行路径,找不到关于以下情况的详细信息。

如果我有这样的声明:

thisWillFail() 下面的行会在移动到 catch 之前执行,还是会在抛出异常后立即执行 try 语句?

换句话说,假设 call 'a' 之后的 call 'b' 将执行是否安全,前提是 call 'a' 不会在 try 语句中引发异常?

谢谢

0 投票
2 回答
2831 浏览

sql - 约束是在自定义触发器之前还是之后执行的?

触发器和约束的执行顺序是什么?例如,如果我插入了一个错误的外键,pgsql 会在我自己的触发器(之前或之后)之前检测到这个 fk 吗?

我知道触发器内的异常将回滚在同一触发器内执行的任何更新/插入(即使对于 AFTER 触发器),但对于约束是否相同?外键约束是否会从我自己的触发器回滚我的所有插入/更新?

谢谢你

0 投票
1 回答
53 浏览

c - 操作数的求值顺序

C 中以下程序的输出将是什么?我基本上很困惑 main() 将首先调用 t1() 还是 t2()。

0 投票
1 回答
870 浏览

c# - 使用 TestCase 属性的 Nunit 执行顺序

我正在尝试使用 NUnit 框架运行一些性能测试,例如:

...结果是:

  1. 22:56:01:在数据库中保存 1000 个项目:48353 毫秒 - 平均:20,6812400321 个项目/秒。
  2. 22:56:02:在数据库中保存 1 项:40 毫秒 - 平均:25 项/秒。
  3. 22:56:06:在数据库中保存 100 个项目:3813 毫秒 - 平均:26,2260687323 个项目/秒。
  4. 22:56:07:在数据库中保存 10 项:413 毫秒 - 平均:24,2130750605 项/秒。

所以我期望的是[TestCase(1)]首先运行,然后[TestCase(10)]等等。但正如您从结果中看到的那样,这不会发生。有没有办法控制这个?测试用例首先完成似乎是随机的。

根据NUnit 文档,我想答案是你不能。

因此,当 TestCaseAttribute 在一个方法上多次出现或当其他提供数据的属性与 TestCaseAttribute 结合使用时,测试用例的顺序是不确定的。

你们有什么好主意如何控制执行?小技巧?另一种方法?任何事物?

0 投票
2 回答
580 浏览

java - Java 重新排序会影响 System.currentTimeMillis() 吗?

根据 Java 内存模型,只要执行格式良好,指令就可以重新排序。

所以我想知道,以下代码是否有可能产生以下输出?

[代码][在同一个线程中]

[输出]

如果不可能,那么 JVM / 实现会做什么来防止这种情况发生?

0 投票
0 回答
189 浏览

c - 使用 Valgrind/GDB 调试程序时奇怪的明显执行顺序

自从我使用 Valgrind 而不是快速测试以来已经有一段时间了,在尝试调试用 C 编写的程序时,我遇到了一些我不太理解的东西。我不确定我的代码是否有问题或只是一些我不知道的“低级”。

正在执行以下代码(数据是一个结构):

设置结束的地方

但是 Valgrind 用什么打印

是(在此之前,没有错误;所有数据的预设值都正确打印,没有问题。)

在此之后,从 Evolution 打印出来的前几个 printfs 并且程序过早退出。如果我在没有 Valgrind 的情况下运行它,它会在“安装完成”之后立即崩溃并出现段错误,而不会打印 Hi1。更重要的是,如果我用 gdb 运行程序并执行

我不仅可以看到数据的内容,还可以看到在进化开始时声明的变量,即使设置似乎还没有“真正”完成。根据gdb,段错误是由我看不到的东西引起的(用-g编译;其他变量显示得很好):

有没有人碰巧知道/能够猜到为什么在 setup 中的最后一个 printf 打印到 stdout 之前似乎在进化中发生了错误(并且在正常执行时,段错误发生在两个简单的 printfs 之间这样一个奇怪的地方) ?

0 投票
1 回答
309 浏览

javascript - 传递 URL 参数和 HTML 输出执行顺序

这与Google Apps 脚本可能的图表类型中的答案直接相关。

我试图通过将其部署为 webapp 而不是附加组件来扩展最佳答案,并将 URL 参数传递给应用程序脚本。

一切都与上面的链接示例完全相同,只是我剥离了插件代码并通过添加一个doGet(e)函数放入了最基本的 webapp 代码。

显然,我在这里遗漏了一些关于执行顺序的基本内容。HTML 与脚本交互的方式导致它在 code.gs 的某些部分完成之前完成。我对使用 GAS 作为部署的 web 应用程序非常陌生,因此非常感谢任何/所有帮助谢谢!

这是我正在尝试使用的预格式化链接(带有包含的参数)。该工作表可通过链接公开查看:

0 投票
0 回答
627 浏览

php - PHP register_shutdown_function() 执行顺序改变

我在代码的不同位置使用 register_shutdown_function() 注册的函数很少。

据我所知,默认情况下它们的执行顺序与注册时的顺序相同。我可以在注册功能后以某种方式更改此顺序吗?