问题标签 [event-loop]

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

multithreading - 在现有的非 QT 线程中创建 QThread 事件循环

我的代码是主机软件的插件,处理时间有限。因此,我创建了第二个线程(通过系统 API)并在那里启动 QApplication。这样,GUI 运行顺畅。

现在,我想在原始文件中运行一个 QThread 事件循环,这样我就可以使用 Signal/Slot (Qt::QueuedConnection) 来调用主机软件中不是线程安全的函数。

有没有办法在不创建新线程的情况下创建这样的 QThread 事件循环?

谢谢!

0 投票
1 回答
2344 浏览

c++ - GLib - C++ 中的主事件循环

我需要在 C++ 中实现我自己的基于 GLib 库的主事件循环。我不知道从哪里开始。我研究了一些关于 GLib 的资料,但它并没有帮助我知道,如何实现事件循环。有人可以给我一些建议或给我一些源代码吗?我基本上需要从 GLib 实现 GSource 和 GSourceFuncs。事件循环应该独立于平台,但我的应用程序将在 Android 上运行。我找不到如何在 Android 中实现事件循环,有人也可以向我解释一下吗?非常感谢。

卢卡斯

0 投票
2 回答
3043 浏览

iphone - 什么是事件循环或运行循环?

在 iPhone 开发中,我遇到过这些名为

事件循环,运行循环

. 有人可以解释一下它们是什么吗?

0 投票
3 回答
1551 浏览

node.js - 事件循环作为语言结构公开的其他语言(框架)?

http://nodejs.org/#about它说以下内容:

“Node 在设计上类似于 Ruby 的 Event Machine 或 Python 的 Twisted 等系统并受其影响。Node 将事件模型更进一步——它将事件循环呈现为一种语言结构,而不是一个库。”

是否有其他框架或语言同样公开事件循环?

0 投票
1 回答
1725 浏览

qt - QCoreApplication::quit() 是否取消所有未决事件?

从QCoreApplication::quit()的文档中我并没有立即清楚这一点。

调用 quit() 槽时,事件循环中的任何未决事件是否被取消?

0 投票
2 回答
1007 浏览

c++ - 在每个应用程序的事件循环迭代中执行槽

如何在应用程序事件循环的每次迭代中调用我的插槽?我知道的唯一方法是使用 QTimer 并且在每个超时(每毫秒)信号上我都可以调用我的插槽。但我不喜欢这个选项,它看起来像解决方法。

任何建议如何更正确地做到这一点?

0 投票
2 回答
962 浏览

javascript - 我不完全理解 JavaScript 线程

在我深入探讨这个问题之前。让我声明一下,事件循环指的是http://en.wikipedia.org/wiki/Event_loop。这是浏览器实现的。有关更多信息,请阅读:http: //javascript.info/tutorial/further-javascript-features/events-and-timing-depth

这个问题又难又长,所以请尽量忍耐!我非常感谢所有答案!


所以。现在,据我了解,在 JavaScript 中只有一个主线程(即在大多数浏览器环境中)。所以,像这样的代码:

将产生一个从黑色到白色的动画,但您不会看到,因为渲染是在处理完代码之后完成的(当下一个滴答发生时——浏览器进入事件循环)。

如果你想看动画,你可以这样做:

上面的例子会产生一个可见的动画,因为 setTimeout 将一个新事件推送到浏览器事件循环堆栈,它将在没有任何运行后处理(它进入事件循环以查看下一步该做什么)。

在这种情况下,浏览器似乎将 0xfff (4095) 事件推入堆栈,其中每个事件都在它们之间通过渲染过程进行处理。所以,我的第一个问题(#1)是渲染到底是什么时候发生的?它是否总是发生在事件循环堆栈中两个事件的处理之间?


第二个问题是关于我给你的 javascript.info 网站链接中的代码。

我的问题是浏览器是否会在每次到达div.style. ... = ...线路时将新的“渲染”事件推送到事件循环堆栈?但是由于 setTimeout 调用,它不会首先推送事件吗?那么,浏览器是否最终出现在一个堆栈中,例如:

由于 setTimeout 调用是在 div 样式更改之前处理的?如果这就是堆栈的样子,那么我会假设下次浏览器进入事件循环时,它将处理 setTimeout 的回调并最终得到:

并继续之前的 setTimeout 调用产生的渲染事件?

0 投票
1 回答
7401 浏览

objective-c - ios生命周期中的事件循环是什么,它的用途和作用是什么?

我需要知道 ios 生命周期中的事件循环是做什么的?有人可以建议我吗?

0 投票
1 回答
5382 浏览

events - 什么是浏览器事件循环?

我一直在使用 GWT 进行一些 Web 应用程序编程,并且对“浏览器事件循环”这个术语感到困惑。

我遇到过需要在浏览器事件循环完成后执行延迟命令和“做某事”的情况。

我想知道它到底是什么以及在事件循环过程中发生了什么以及以什么顺序?

0 投票
3 回答
4660 浏览

python - 进入Qt事件循环后如何自动执行方法?

我想执行一个只能在QApplication显示 my 时调用的方法,即当它进入其主事件循环时exec_()。我是 Qt4 的新手(使用 PyQt4):我希望有一个类似on_start()的回调,但没有找到。我需要创建一个线程还是一个计时器?或者 API 中是否已经包含一些回调?