问题标签 [worker-thread]
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.
java - Google App Engine 上的推送队列与拉取队列
到目前为止,没有人(甚至 GAE 文档)能够给我一个非常清楚的描述推送队列和拉取队列之间的区别。
我的理解是,Task Queue API 允许您定义可以将工作排入队列的任务队列。不知何故,这与 GAE 的自动缩放功能一起使用,因此您无需显式管理从这些队列中消耗任务的工作线程的数量:GAE 只是为您完成。
但是我在任何地方都找不到关于推送和拉取队列之间差异的“国王英语”描述。什么是“推送队列”推送?什么是“拉队列”拉?他们都在里面配置queues.xml
吗?
c++ - 如何将 LPARAM lParam 转换为 CString
在我的工作线程中,我创建了一条发送到主对话框的消息。一旦主对话框收到消息并进入我的 OnStatusUpdate() 函数,我想从 LPARAM lParam 中提取消息并将其显示在对话框编辑框中。我得到的不是我的信息,而是垃圾。
javascript - HTML5 应用程序中的后台数据下载到浏览器数据库 - settimeout 与工作线程
知道
- Javascript 是严格的单线程并且 settimeout 不会产生新线程。相反,它遵循事件循环模型
- 工作线程是 HTML5 的新特性,但并非所有 HTML5 浏览器都支持它
我应该使用哪一个来进行后台数据下载?如果您有任何经验或有任何可用的基准数据,请分享。
不知道问这个问题有多重要,但为了完整起见,我想提一下数据应该是 XML 格式,并且将调用多个服务器端服务来获取数据。是否已经有一个框架可以同时满足基于手持设备的浏览器和基于桌面的浏览器数据下载的需求?
android - 在服务上执行长时间运行的操作
我正在构建一个具有服务的应用程序。我知道所有应用程序组件都运行在同一个 UI 进程中,至少您在清单中指定了它。因此,为了避免 ANR 的消息,我有三种方法。
在清单中指定服务以在单独的进程中运行,例如 android:process=":remote" 但我读过一些 StackOverflow 的帖子
说这不是一个好主意,因为它消耗大量电池和 CPU 处理。我真的很尊重,因为这些帖子来自受信任的人。使用 IntentService。这可能是一个很好的出路。但即使活动不可见,我也需要运行我的服务。因为我需要该服务不断检查来自其他用户的新消息的 Web 服务并通过通知通知。可以使用 IntentService 吗?这是一个优雅的解决方案。
使用本地服务。只需从清单文件中删除 android:process=":remote" 属性。但我得到一些 ...OnMainThreadException 错误。这意味着我需要创建一个特殊的线程来执行那些长时间运行的操作或使用 AsyncTask,
也许还有其他方法可以做到这一点。请让我知道,如何在服务上执行长时间运行的操作。真的是势在必行。
谢谢。
c# - 优先级队列的工作线程性能缓慢
当我注意到在更多线程上使用独立优先级队列实际上会降低性能时,我试图使用工作线程来加速更大的算法。所以我写了一个小测试用例。
在其中我查询要启动多少个线程,将每个线程设置为自己的处理器,并从我的优先级队列中推送和弹出很多东西。每个线程都拥有自己的优先级队列,它们是单独分配的,所以我不怀疑错误共享。
我把测试用例放在这里,因为它比一个片段长。(处理器亲和位来自NCrunch)
优先级队列是我自己创建的,因为 .NET 没有内置队列。如果这有什么不同,它会使用配对堆。
无论如何,如果我用一个线程和一个核心运行程序,它的使用率大约是 100%。 两个线程/两个内核的使用率下降 最终所有 8 个内核的使用率下降到 30%。
这是一个问题,因为性能下降抵消了多线程带来的任何好处。是什么导致性能下降?每个队列完全独立于其他线程的
design-patterns - 可能产生更多工作的异步工作的设计模式是什么?
我一直在尝试优雅地处理异步工作线程既产生结果又(可能)识别更多需要完成的工作的情况。换个角度想,如果您正在遍历一棵树并在每个节点上工作,那么工作人员正在处理树中间的一个节点,并且发现了需要自己工作的子节点。
工作线程向作业队列添加更多作业是否合理设计?这将要求工作人员对它所属的并发系统有所了解,这对我来说似乎违反了一些不成文的规则。这个问题是如何解决的?
netty - 单个 Netty 工作线程是否管理管道中的所有处理程序?
我是 Netty 的新手。我试图找出通道管道中的所有处理程序是否由单个工作线程管理。在这种情况下,工作线程不会被处理程序锁定以完成。或者每个处理程序是否由不同的可用工作线程处理?
谢谢,
苏达
java - 是否可以在工作线程中过滤 JTable?
我有一个大约 11000 行的 JTable 和一个用于过滤正则表达式的搜索框。我在搜索框中的代码如下所示:
问题是整个 UI 在过滤操作期间变得无响应。我想这是因为过滤是在 EventDispatchThread 中完成的,所以有没有办法以某种方式将过滤放在工作线程中?
java - 如何杀死 Javafx 中的所有/特定后台线程?
该应用程序有四个javafx fxml 屏幕:登录、主页、配置文件和功能。登录完成后,会在各种屏幕中创建大量工作线程。当用户正在注销时,应取消除Javafx-Application-Thread之外的所有工作线程。
vb.net - axacropdflib - 从工作线程设置源
我有一个 vb.net 项目,左边有一个 pdf 的树形视图,右边有一个 acrobat AxAcroPDF 查看器控件。单击树视图中的一个项目,我得到 fileinfo.fullname 值并将其传递给 AxAcroPDF src 属性。
在测试时,我注意到 pdf 的加载速度很慢,并且会阻塞我的 ui 线程,所以我认为工作线程将是在后台延迟加载这些 pdf 的好帮手。
当我使用工作线程的 DoWork 方法运行我的代码并尝试更新我的 pdfviewer 对象时,我得到一个无效的强制转换异常。
System.InvalidCastException 被捕获 HResult=-2147467262
消息=无法将“System.__ComObject”类型的 COM 对象转换为接口类型“AcroPDFLib.IAcroAXDocShim”。此操作失败,因为 IID 为“{3B813CE7-7C10-4F84-AD06-9DF76D97A9AA}”的接口的 COM 组件上的 QueryInterface 调用因以下错误而失败:不支持此类接口(HRESULT 异常:0x80004002 (E_NOINTERFACE)) . Source=mscorlib StackTrace: 在 System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease) at AcroPDFLib.IAcroAXDocShim.set_src(String pVal) at AxAcroPDFLib.AxAcroPDF.set_src(String value) at myapp.fill_treesview_with_file .LoadPDFInBackground(String selectedfile) 在 C:\Users\me\Desktop .....
我无法在网上找到具有此异常详细信息的任何其他线程,因此我不确定这里的问题是什么。我认为我的问题与跨线程访问冲突有关,但即使我将 Control.Checkforillegalcrossthreadcalls 设置为 false,我也会遇到相同的异常。无论如何,我会从 DoWork 例程中检查 invokerequired 对我来说没有任何意义,因为我的工作线程的重点是为我处理负载,而不是将其推回 UI 线程。
谁能推荐一个解决方法,我可以尝试在这里实现我的目标?
我的代码:
选择后的树视图连接到显示文件
后台工作人员的东西: