问题标签 [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.

0 投票
1 回答
1242 浏览

android - 最多可以创建多少个 Worker Thread?

在我的平板电脑应用程序中,我在一项活动中使用了许多相邻的片段(一类),在这个片段类中,我有:

每个 Fragment为CursorLoader启动一个新的工作线程。这个规模有多大?

0 投票
2 回答
244 浏览

c# - 这些功能中哪个更有效?

使用线程时,使用'invoke'来避免'Cross Thread'(1)

但是,有时会使用“计时器对象”来避免“CrossThread”(2)

像这样(例如)

哪个更有效?'在 (1) 和 (2) 之间'


如果我们在'timer event'中检查后将处理的数据分散在'thread'中,而不使用'invoke'或其他方法,会不会有问题?(我们听说在打印“线程”内处理的数据时,为了避免“跨线程”,使用额外的“定时器对象”分散“定时器事件”中的数据已经很频繁了,因为它既无益也无害)。

0 投票
5 回答
5065 浏览

java - 是否可以从 Java 中的工作线程调用主线程?

我有一个名为 action() 的方法,它部署了三个线程。每个部署的线程或工作线程都基于布尔类型的单个实例变量为 true 进入 while 循环,例如 boolean doWork = true,每个线程将有一个 while(doWork){} 循环。

当一个线程完成该作业时,会将 doWork 设置为 false 以阻止所有线程循环。然后我希望能够以某种方式让主线程调用 action() 方法来重新部署线程来完成另一项工作。(如果我使用其中一个工作线程来调用 action() 方法可以吗?)工作线程会在调用 action() 方法后终止并以某种方式死亡吗?

为简单起见,我将示例限制为两个线程

谢谢

0 投票
2 回答
870 浏览

c++ - WSARecv,Completionport Model,如何管理Buffer,避免溢出?

我的问题:我的 Completionport 服务器将从不同的客户端接收未知大小的数据,问题是,我不知道如何避免缓冲区溢出/如何避免我的(接收)缓冲区被数据“过度填充”。

现在到问题:1)如果我通过 WSARecv 进行接收呼叫,工作线程是否像回调函数一样工作?我的意思是,它是仅在完成后才挖掘接收呼叫,还是在接收发生时也挖掘它?lpNumberOfBytes(来自 GetQueuedCompletionStatus)变量是否包含到目前为止接收到的字节数或接收到的总字节数?

2)如何避免溢出,我想到了动态分配的缓冲区结构,但话又说回来,我如何找出包会有多大?

编辑:我不想问这个,但是有没有“简单”的方法来管理缓冲区并避免溢出?同步听起来对我来说是无限的,至少现在

0 投票
1 回答
335 浏览

java - Java Axis2 Webservice - 工作线程

我有一个 Axis2 java web 服务。

我需要实现一些新逻辑 - 应该有一个“工作”线程(使用 MsgQ)。当用户请求应该做一些工作但不阻止用户时使用。

不幸的是,我错过了这方面的知识。如何创建线程,如何。

!!!重要的问题是应该在哪里创建?目前在 WebService 项目中只有客户端 API 的方法。主要在哪里?如何初始化和做与clientAPI分离的逻辑(例如创建线程)

谢谢约阿夫

0 投票
2 回答
4240 浏览

android - Android 4.0.3 上的 NetworkOnMainThreadException

我有一个意图服务,可以将数据从手机上传到我的服务器。只要网络连接可用,我就从广播接收器启动它。一切正常,但是当我通过 Android 4.0.3 模拟器对其进行测试时,它给出了严格模式错误 android.os.NetworkOnMainThreadException。就像这个网络作业在主线程上一样,但据我所知,intentservice 已经创建了一个工作线程。我也发现了这个链接http://code.google.com/p/android/issues/detail?id=23495说将网络作业移动到后台线程。工作线程不是后台线程吗?

编辑:这是我的广播接收器。

这是我在 LogCat 中看到的错误:

0 投票
1 回答
766 浏览

wcf - 带有工作线程的 WCF 服务 - 如何设计?

我有一个为一些客户提供服务的 WCF 服务。设计是:

  • WCF 服务层
  • 业务逻辑层
  • 数据访问层(LINQ-To-Entities)

我需要有一个工作线程来对数据库进行一些连续工作(查找新记录,如果发现任何记录 - 以“推送”方式向客户端发送信息,这意味着 - 客户端将托管服务,以便它可以从这个工作线程接收“推送”通知)。

我将在 Windows 服务上托管 WCF 服务。

问题是:在我的设计中,我应该在哪里安装这个工作线程?它是否应该与 WCF 服务一起在 Windows 服务的“Program.cs”的“Main()”中生成?(这意味着它应该是 WCF 服务程序集的一部分)或者它应该是业务逻辑层的一部分 - 因此是“业务逻辑”程序集的一部分?

我的想法是:

在此处输入图像描述

0 投票
1 回答
3183 浏览

sleep - 睡眠(挂起)和恢复 Windows 窗体在工作线程而不是主线程上启动程序

我正在处理的 Windows 窗体订阅Microsoft.Win32.SystemEvents.PowerModeChanged并在Suspend其上运行Close()窗体上的方法。在Resume它上面运行Run()函数,就像在初始加载时一样。问题是,当计算机从睡眠模式唤醒时,PowerModeChanged 事件在名为“.Net SystemEvents”的工作线程上触发,当Run()被调用时,它会在该工作线程而不是主线程上重新创建表单。

这个表单是我从另一个开发人员那里继承的一个项目,我是 Windows 表单编程的新手。我想知道是否有更好的方法来处理睡眠/唤醒过程,而不是关闭表单并在唤醒时重新创建它们,或者强制创建到主线程上。注意:如果我删除代码并让它在计算机休眠(挂起)时什么也不做,而在它唤醒(恢复)时什么也不做,那么程序将继续正常工作(在主线程上运行)。任何帮助将不胜感激。谢谢大家。

0 投票
1 回答
13941 浏览

multithreading - 从 WorkerThread 到 MFC 中的主窗口的 PostMessage

我有一个 MFC 应用程序,它有一个工作线程,我想做的是从工作线程向主 GUI 线程发布消息,以更新 GUI 上的一些状态消息。到目前为止我所做的是Registered a new window message

将此消息添加到对话框类的消息映射中

的原型OnStatusUpdate

定义是

并且工作线程调用代码是

和工作线程代码是

问题是当 PostMessage 函数被调用时OnStatusUpdate应该被调用,但它没有被调用,没有异常或断言被抛出,我做错了什么?我试过了ON_REGISTERED_MESSAGEON_MESSAGE但没有成功,有什么帮助吗?

0 投票
1 回答
3398 浏览

java - Quartz 的 SimpleThreadPool 中未捕获的异常对线程的影响

使用 Spring 的集成 api with Quartz,对有未捕获异常的 cron 作业有什么影响?由于 cronbean/worker 线程没有捕获异常,这是否意味着线程已死并且无法返回SimpleThreadPool?如果它死了并且没有回到池中,这是否意味着 SimpleThreadPool 将需要创建新线程,如果说这种情况发生多次从而清空池?

这是堆栈跟踪的示例: