问题标签 [dispatch]

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

matlab - 作业调度规则

是否有任何面向 Matlab 的常用作业调度规则的代码,例如 EDD、SPT 或 FIFO?我只找到了TORSCHE 工具箱,但作为初学者很难理解。谢谢。

0 投票
3 回答
6555 浏览

c# - 对接口成员的虚方法调用的 CLR 实现

出于好奇:CLR 如何将接口成员的虚拟方法调用分派给正确的实现?

我知道 CLR 为每种类型维护的 VTable 以及每个方法的方法槽,并且对于每个接口它都有一个额外的方法槽列表,这些方法槽指向相关的接口方法实现。但我不明白以下内容:CLR 如何有效地确定从类型的 VTable 中选择哪个接口方法槽列表?

MSDN 杂志 2005 年 5 月号的文章Drill Into .NET Framework Internals to See How the CLR Creates Runtime Objects讨论了由接口 ID 索引的进程级映射表 IVMap。这是否意味着同一进程中的所有类型都具有指向同一 IVMap 的相同指针?

它还指出:

如果MyInterface1由两个类实现,IVMap 表中将有两个条目。该条目将指向嵌入在MyClass方法表中的子表的开头。

CLR 如何知道选择哪个条目?它是否进行线性搜索以找到与当前类型匹配的条目?还是二分查找?还是某种直接索引并有一个可能包含许多空条目的地图?

我还通过 C# 3rd edition 阅读了关于 CLR 中的接口的章节,但它没有谈到这一点。因此,这个其他问题的答案不能回答我的问题。

0 投票
2 回答
3921 浏览

ios - dispatch_sync(dispatch_get_global_queue(xxx), task) 是同步还是异步

正如Apple的文档所说,dispatch_get_global_queue()是一个并发队列,而dispatch_sync是串行的意思。那么任务是异步处理还是同步处理?

0 投票
2 回答
46711 浏览

events - 如何正确添加和使用 D3 事件?

我无法理解使用 D3 事件和调度函数。我有一个我一直在研究的图表示例:“带有图例的垂直条形图”

绘制图表和图例很容易,但我想添加在将鼠标悬停在图表右侧的相关文本图例上时突出显示每个条的功能。

我已经阅读了所有的事件文档,甚至查看了一些示例,其中大部分都非常复杂,但我似乎遗漏了一些东西。有谁知道如何最好地完成文本图例鼠标悬停功能,该功能调度事件以自动更改相应垂直条的颜色?

0 投票
1 回答
6086 浏览

javascript - 我在哪里可以找到好的 D3 事件和调度示例?

我正在尝试为 D3 找到一些易于理解和使用的教程,这些教程特别关注如何实现和使用事件和调度函数。

有任何想法吗?

0 投票
4 回答
7037 浏览

c++ - 为什么虚函数调用比dynamic_cast快?

我写了一个简单的例子,估计调用虚函数的平均时间,使用基类接口和dynamic_cast以及调用非虚函数。就这个:

看起来 callDynamiccast 需要几乎两倍的时间。

time for callDynamiccast: 0.000240333

time for callVirtual: 0.0001401

任何想法为什么会这样?

编辑:对象创建现在是在单独的函数中进行的,所以编译器不知道它的真实类型。结果几乎一样。

EDITED2:创建两种不同类型的派生对象。

0 投票
1 回答
840 浏览

iphone - dispatch_async 被触发 10 次

正如我在标题中提到的,我的 dispatch_async 触发了 10 次。我用它来使 GUI 响应更快。但是当它触发 10 次时,它需要很长时间才能完成它必须做的所有事情。这是代码:

而 calculateAllThatShizzle 方法只有大约 150 行的计算(包括许多循环)。

我确实尝试了以下方法:

但似乎它在整个生命周期中只使用一次,每次显示页面时我都需要触发它。

所以问题是:我怎样才能强制 dispatch_async 只触发一次?

任何帮助将不胜感激,谢谢

编辑

这些 dispatch_async 和 dispatch_once 在 checkAndCalculateIfNecessary 方法中。这个方法是从 PageControl 调用的,如下所示:

0 投票
1 回答
1190 浏览

iphone - 可怕的 Facebook IOS 集成内存泄漏

我们已将 facebook 集成到应用程序中以上传照片。这一直很好,但最近使用 XCode Alloc 工具来追踪我们发现的任何内存泄漏似乎很糟糕。我们正在一个单独的调度线程中运行一个上传过程。然后我们在自动发布池中加载我们的 facebook 上传方法。当上传被调用时,图像会继续发送到相应的 FB 配置文件。但是,在上传 NSKeyValueMethodForPattern 时,会创建并保存大约 500KB。然后,创建大的 -[NSConcreteMutableData appendBytes:length] 并根据图像大小消耗大约 4.5MB。这两个是为每个上传的图像创建的,永远不会发布!我对此感到茫然。alloc 工具指向下面是罪魁祸首

这是我们用来创建线程和“释放”池以处理和上传图像的代码。

我还能做些什么来释放这些内存猪吗?我不是这个东西的新手,但我对此感到茫然。这里的任何帮助都会很棒!

谢谢!- 吉姆

0 投票
1 回答
302 浏览

node.js - 是否有类似 Perl 的用于 node.js 的 Catalyst 路由?

Perl 的 Catalyst 框架具有出色的 URL 调度/路由机制,允许将方法链接在一起以模块化路由。

通过严格应用科学方法,我确定这比我当前项目的 Rails 式布线好 1942.49 倍。我目前正在使用 node.js 编写一些东西。

是否有使用催化剂式调度(尤其是“链接”)的节点框架?

0 投票
2 回答
3978 浏览

android - Android的NFC前台调度系统有bug吗?

我对前台调度行为有一个烦人的问题。有时它不会调用onNewIntent(),而是完全重新创建活动,这会破坏应用程序的工作流程。

我的具体情况:Activity A 是 MainActivity,它使用前台调度。一切正常。但是,在从浏览器(VIEW 操作)启动的活动 B 中,前台调度在某些情况下不再起作用。

工作流程:

  • 我启动 MainActivity,切换到浏览器(不关闭 MainActivity),启动 Activity B 并附加我的 NFC 设备 --> 它创建了一个新的 Activity B。

  • 我启动 MainActivity 并再次关闭它。之后我切换
    到浏览器,启动活动 B 并附加我的 NFC 设备 --> 一切正常onNewIntent()

代码是正确的,例如,如果我在第一个场景中两次连接 NFC 设备,它会在第二次正常工作,但不是在第一次。在 MainActivity 和活动 BI 中,明确调用活动的 onPause() 方法中的 disableForegroundDispatch() 方法。

我的具体问题有解决方案吗?对我来说,这听起来像是一个错误。

编辑:

这些方法在每个活动的相应方法中被调用。谢谢您的帮助!

解决方案:经过很长时间的研究,我终于找到了问题所在。Logcat 打印:

  • 从非活动上下文调用的 startActivity;强制 Intent.FLAG_ACTIVITY_NEW_TASK 用于:意图

我在 Stackoverflow 发现了其他问题,人们对 NotificationManager 也有同样的问题,但所有的提示都没有帮助我。将标志 singleTask 添加到我的活动 B 对我来说是诀窍,但老实说我不明白,因为上下文始终是一个活动。

我从 MainActivity 中删除了所有代码,第一个场景仍然不起作用。我从清单中删除了 MainActivity,之后一切都很好。也许这是一个问题,应用程序实例正在运行并且活动 B 从浏览器启动?我不知道。

无论如何,感谢NFC家伙的帮助!