问题标签 [thread-state]

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

c# - 使用静态数据返回不同值的线程

我正在制作一个在提取数据的大目录上运行的工具,并为每个语言代码(目录中的第一级文件)启动一个线程。我添加了一个循环,该循环阻止线程添加到数据库中,直到所有线程都完成为止,因为没有它,该工具将陷入死锁。但是,在测试此数据时,即使测试数据是静态的,数据库也会存储错误数量的语言。例如,我有 67 种语言,但我的数据库中只有 48 种。我认为问题可能是我在线程停止之前停止程序继续运行的循环可能会被破坏,即。它在所有线程停止之前将文件添加到数据库,从而在此过程中丢失语言。我想没有人遇到过类似的问题或知道解决此问题的方法吗?谢谢。

0 投票
0 回答
159 浏览

java - java监控对象:线程BLOCK在一些

在拼命尝试任何方法来解决我的负载测试故障时,我遇到了TDA,这是一个用于 Java 的线程转储分析工具。不知何故,我不觉得我在关注它的输出。例如,在有一个 8 个线程被 BLOCKED 的监视器实例的情况下,不应该有一个线程处于 RUNNABLE 状态吗?某些线程必须获得该监视器的锁定才能将其他 8 个线程置于 BLOCKED 状态,是吗?

第二件事 - 关于 TDA 术语 - 有一个类别“线程在监视器上休眠(675 个线程休眠)”和一个称为“线程锁定监视器(806 个线程锁定)”。这两个类别都包含 WAITING、BLOCKED 或 TIMED_WAITING 的线程。我能说的唯一区别是后一类还包含处于 RUNNABLE 状态的线程。它们之间还有其他区别吗?我没有得到的是“睡在监视器上”的句法。

谢谢!

0 投票
1 回答
42544 浏览

c# - Thread.IsAlive 和 Thread.ThreadState==ThreadState.Running

我用 . 来检查线程的状况if(Thread.IsAlive)。此线程中正在运行一个表单。有时在执行过程中,即使表单保持打开状态,对 Thread.IsAlive 的调用似乎评估为假。我想用if(Thread.ThreadState==ThreadState.Running). 这是正确的做法吗?如果没有,有什么可能的解决方法?

0 投票
1 回答
5727 浏览

java - java threadump“等待条件”的意义

我有一个应用程序的线程转储,它显示了如下所示的 3 个线程。

================

================

“等待条件[]”的意义是什么?[]中的数字是什么意思?

0 投票
1 回答
188 浏览

struts2 - 为什么 NPE 会导致 JVM 崩溃?

我们将 Struts2 用于企业应用程序,但由于 NPE 而崩溃。异常发生在动作的错误处理方法中。我的猜测是,它试图递归地调用错误处理方法,因为当它试图处理错误时,它每次都会得到一个新的 NPE。然后JVM崩溃。

但我的问题是,这可能是崩溃的真正原因吗,递归异常会导致 JVM 崩溃吗?JVM发现自己处于什么类型的情况,这个异常是如何及时影响线程状态的?正如您所看到的,我对 JVM 如何处理线程并没有提供太多信息。感谢您的回复。

祝你今天过得愉快。

编辑:对不起,这是我得到的堆栈跟踪的一部分。Stacktrace 无休止地重复自己。

0 投票
0 回答
71 浏览

c# - 发布中的线程状态异常,但不是调试

threadstateexception was unhandled每当我尝试打开文件对话框时,我都会得到。我只有在使用 Release 设置运行 Visual Studio(2012) 时才得到它,当我改回 Debug 时,一切似乎都按预期工作。应用程序在最后一行崩溃了,ShowDialog();

我究竟做错了什么?是否存在代码错误或我缺少 VS 中的某些设置?

我已经从 Debug 复制了我正在使用的所有子文件来发布它。我试过搜索这个问题,但我的 Google-fu 缺失。

一些裁剪的代码:

0 投票
4 回答
11823 浏览

java - Java 线程状态转换,WAITING 到 BLOCKED,还是 RUNNABLE?

SO共识和网上几乎所有的Java线程状态图似乎都有出入;具体来说,关于从 WAITING之后notify()或被notifyAll()调用的线程状态转换......

  • WAITING永远不会直接进入 RUNNABLE
  • 线程正在等待,直到它被通知......然后它变成BLOCKED......
  • 一旦通知此线程,它将无法运行...这是..阻塞状态。

所以对 SO 的共识是:一个线程在调用or后从WAITING到; 下图以绿色说明了这种转变。BLOCKEDnotify()notifyAll()

问题

为什么网络上的大多数状态图都说明了从WAITING到的转换RUNNABLE,而不是BLOCKED?红色表示不正确的过渡;我错过了什么吗?

在此处输入图像描述

0 投票
2 回答
337 浏览

java - Thread.interrupt 上的 IllegalThreadStateException

我有一个java程序,编译需要很长时间。

出于测试目的,如果编译需要很长时间,我想终止程序并重新启动它。

这是我的代码的简化版本:

foo.java 看起来有点像这样:

问题是程序崩溃并抛出一个IllegalThreadStateException

如果你需要完整的代码,这里是:完整代码

0 投票
4 回答
7672 浏览

c# - 异步等待:主线程是否挂起?

我正在阅读有关async/await关键字的内容,并且已经阅读过:

当逻辑流到达等待令牌时,调用线程将暂停,直到调用完成。

好吧,我创建了一个简单的windows forms application,放置了两个标签,一个按钮和一个文本框,然后我编写了代码:

我不明白的是,当我单击按钮时,label1 会有文本Running,而标签只有在 10 秒后才会有相同的文本,但是在这 10 秒内我能够在我的文本框中输入文本,所以似乎主线程正在运行...

那么,异步/等待是如何工作的呢?

这是书中的“截图”: 在此处输入图像描述

问候

0 投票
5 回答
1239 浏览

java - Java 监听线程状态

出于调试目的,我想监听线程状态。我希望它在线程等待日志以及“恢复”时打印通知。