问题标签 [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 投票
2 回答
1012 浏览

java - java线程的状态到底是什么意思?

我正在Android Studio中学习该工具,获取线程转储,如下:

获取线程转储

我注意到每个线程的不同状态是这样的,

在此处输入图像描述

我可以看到有runnable, sleeping, waiting. 而我深入线程栈,大部分线程栈都是这样的,

我很困惑他们都停止了,Object.wait但是线程的状态可以是runnable,,?sleepingwaiting

这是另一个状态线程的堆栈。

RUNNABLE

TIMED_WAITING

0 投票
1 回答
67 浏览

java - 一个正在运行的线程可以在进入一个无竞争的同步块时变为可运行的吗?

我们的生产箱上发生了一件奇怪的事情。代码功能:UI servlet 对用户正在操作的文档对象进行监视器锁定并对其执行一些计算。获取监控锁是为了防止同一个文档对象同时被多个用户同时修改。

Prod 中观察到的问题:很少有用户操作超时。

日志分析:超时用户操作对应的线程在获取文档对象上的监控锁之前正在打印所有日志。然后有一个超过 1 小时的间隙,线程没有在日志中浮出水面,然后它突然变得活跃并进行计算并尝试发回一个响应,该响应显然是错误的,因为 HTTP 请求已经超时。我们检查了日志和代码,可以确认没有其他线程获得了对该特定文档对象的监控锁。所以锁在有问题的地方是没有争议的。

可能的问题是什么?是否只是线程在遇到同步块时进入可运行状态,并且在接下来的 60-80 分钟内,CPU 从来没有机会运行这个特定的可运行线程?

0 投票
1 回答
785 浏览

java - 如何获取已终止的 Java 线程的中断状态?

我正在尝试确定 Java 线程interrupted在终止时是否存在。到目前为止,答案似乎是“不”......

run()就在我们可以看到Thread.currentThread().isInterrupted()的尽头脱落之前true

但是在join()ing 目标线程之后,我们总是得到false

0 投票
0 回答
57 浏览

java - 处于停放状态的线程何时恢复进入执行状态?

假设服务器一次能够处理并发连接,并且当线程现在进入并且不允许进入执行线程池(这里是)8时,它允许有连接在池中,也没有线程在池中的空间然后线程进入我猜的状态。1008park WAITING

JavaDoc建议线程将处于此停放状态,直到

i) 给定的时间。我们有任何默认的等待时间吗?当我们不配置任何时间时会发生什么?线程会处于这种等待状态多长时间?

(或者)

ii) 直到permit线程可用?现在在这种情况下,当设置了最大连接限制时——谁来提供permit等待线程的工作?

0 投票
1 回答
88 浏览

android - WAIT_BLOCKED 线程状态是什么意思?

我正在分析 AudioTrack 线程的 lttng 跟踪,所以在出现故障时它显示线程状态为WAIT_BLOCKED. 谁能告诉线程状态是什么意思WAIT_BLOCKED。这是屏幕截图

0 投票
1 回答
835 浏览

java - 如何将线程从阻塞状态恢复为可运行状态?

语境:

我正在编写一个小型 Java 程序来欺骗我的朋友。该程序在运行时会在屏幕上显示许多小窗口,以阻止视图并延迟机器。为了提高窗口出现的速度,我尝试创建多个线程,每个线程都会在屏幕上发送垃圾邮件。

问题和问题:

当我得到每个线程的状态时,只有一个是可运行的,其余的都是阻塞的,导致窗口垃圾邮件率没有增加。如何防止这些线程被阻塞?


-代码-


主类- 创建线程并在 1 秒后打印它们的状态

线程状态输出


垃圾邮件类- 无限创建新窗口并将它们放置在屏幕上的随机位置


Thread 类- 每个实例实例化一个 Spam 类

0 投票
1 回答
113 浏览

java - 当线程改变其状态时会发生上下文切换吗?

在java中,线程改变状态时会发生上下文切换吗?

我搜索了很多网站,但没有找到任何关于此的文章。

因此,如果有人可以提供帮助,将不胜感激。

像这样:

0 投票
1 回答
88 浏览

java - 具有以固定速率运行的可运行对象的 java 项目可以在一段时间后停止吗?我的大约40小时后一直冻结

在自学了 java 之后,我开始了一个项目,通过 api 调用从网站获取数据,用于一个名为 torn 的游戏。由于一些帮助,我修复了一些小细节,但我遇到的主要问题仍未解决。运行一天半后,程序就冻结了。到目前为止,我找不到任何关于它的信息。我做了一段时间的堆转储,我注意到了一些事情。希望有人可以提供帮助。在第一天左右,一切都很好(3 小时后和25 小时后堆转储的屏幕截图)。然后,几个小时后,程序仍在运行,但没有运行它的方法的实例(30 小时后的截图)。几个小时后,程序仍在运行(因为它没有终止或退出)但没有任何活动,也没有方法的实例(运行 40 小时)。(某些图像可能需要左右滚动才能查看所有信息)。我还注意到程序冻结后,可运行的线程从“定时等待”变为“等待”,我也不明白。

我还包含了我的项目的代码(减去连接到站点时使用的实际密钥)以及图像以防万一。主要在 OtherFactionsStats.java 中。

我感谢所有的帮助和建议——尤其是我在 java 中的初学者状态——并提前感谢你。