问题标签 [java-threads]
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 - 处理java管道流中的异常
我有一个 xmlStream,我正在使用 .xml 将其转换为 jsonStream org.apache.wink.json4j.utils.XML
。这是代码
当 XML.toJson 抛出异常时,我看到主线程没有退出。我该如何处理?你们认为这是将 XML 流转换为 Json 流以进行进一步处理的好方法吗?我真的很感激任何建议。非常感谢!
opengl-es - 使用 TimerTask 更改着色器会导致 50% 的错误 - LIBGDX
我正在使用以下方式更改我的着色器TimerTask
:
50% 的时间着色器被正确激活,否则它会失败并出现以下错误:
我只在我的桌面上看到这个,而不是在移动设备上。可能是什么问题?有没有另一种方法可以异步这些调用,这样我就不会收到错误?
如果我不使用异步方法,着色器始终正确设置,但我会得到一些 FPS 下降,我不希望这样。 (我正在使用与帧速率无关的运动。)
java - 同步块
我是 Java 线程的新手,因此有这个疑问。我读到“同步的非静态方法块”只允许一个线程进入块(当然,对于非静态块的一个实例)。但是,它似乎不起作用。我错过了什么吗?看下面的代码。
java - which classes can throw the ConcurentModificationException?
I have just found HiddenInterator example, in the Java concurrency in practice book.
I understand everything! that's nice!
I have the following question:
In java we have concurrent collections for instance: ConcurentSkipListMap, ConcurrentHashMap, where the problem is fixed. But I'm interested which are the classes where the problem can happen(where it is not fixed)? For instance can it be occur on vector? When I was testing, I can't throw the ConcurentModificationException in the vector.
Testing method:
java - 在每天的特定时间运行 Web 服务(从 Tomcat 参数获取时间)
我需要每天在特定时间向许多设备发送 SOAP 消息。我将从 web.xml 中的 tomcat 参数中获取时间。就像是;
我必须创建一个单独的线程来发送消息。时间将采用 24 小时制。
问题是,作为初学者,我不知道从哪里开始或如何去做。你们能否指出我正确的方向或给我一些提示,这将对我有很大帮助。
谢谢大家 :)
java - 使用 ConcurrentLinkedQueue 对 Collection 进行序列化访问
我有以下关于 Java 7 ConcurrentLinkedQueue 的问题。让我们假设我有以下课程:
并发线程将调用生产和消费函数,以便为列表/从列表中生成/删除线程。我实现了前面的函数consume() 和produce(),以便序列化队列中元素的添加/删除。以上是必需的,还是 ConcurrentLinkedQueue 负责?我问是因为我不想降低代码的性能。
谢谢你,尼克
java - Java runOnUiThread 和 Thread.sleep
我从一个单独的类中获得了这个方法,其中当调用结束时,我的 ImageView 的颜色从红色变为白色。下面的示例代码:
当它进入我放置 Thread.sleep 的“if”条件时,问题就开始了。在执行下面的代码之前等待 10 秒
我想我在这里遗漏了一些关于 Thread.sleep 的东西。我只是想摆脱它,但我不确定除此之外的任何其他选择。帮助。谢谢。
java - Java 线程对象与运行线程
嗨,我正在学习和玩 java 中的线程。我在一本书中读到 Thread 对象和 Running Thread 不是一回事。即使线程完成它的 run 方法运行线程进入死状态我什至用 isAlive() 方法检查。我想知道,如果两者都不同,那么按照我的理解,以下代码不起作用。
它只显示这个输出。main Thread-0 main 或这个 Thread-0 main
从这个结果我了解到线程完成后它的运行方法。运行线程进入死态并调用 Thread obj 方法不起作用。但我无法理解背后的原因,因为 Thread 对象是技能参考,而 Thread 类的其他方法呢。像产量()?开始()?
这是另一种情况,可以清楚地理解我所说的
文档说如果我们在 Thread t 对象上调用 start 方法,那么它将抛出 java.lang.IllegalThreadStateException。但上面的代码工作正常。我对 Thread 类的哪些方法依赖于运行线程以及哪些方法依赖于线程对象感到非常困惑。我希望你明白这个问题。提前致谢?
java - 同步访问很慢
我在许多线程之间共享一个列表。线程所需的所有数据在它们开始之前就已经存在,我不会在列表中添加任何其他值。每个踏板在列表中取一个值,从列表中删除值,并完成一个远程调用。这个块是同步的。
有没有更有效的方法来完成这项工作?
目前,将所有联系人拆分为多个单独的程序会更快。
java - 阅读以处理冻结控制台
所以,我一直在开发一个 Java 应用程序,它应该让人们使用带有界面的程序来运行他们的 Minecraft 服务器。当你运行一个 shell 脚本时,所有的输出都放在窗口中,然后你就可以编写输入了。然后输入由进程读取并解释。这使您可以使用子命令,例如“开始”、“停止”、“帮助”、“操作”等。但是,我不知道如何将输入发送到进程。
这是控制台的样子:
我尝试了以下方法:
上图中我标记为“输入”的字段在加速时将执行 actionPerformed() 方法。但是,它似乎冻结在这条线上:br.read(cmd.toCharArray());
它在进程被外部终止后解冻。在它被杀死之前,它甚至不会执行 System.out 部分。所以,我的问题是:我该如何正确地做到这一点?
编辑:
将其更改为作家后,它不再挂起。相反,它只是打印控制台消息:
作家的访问方式如下:
BufferedWriter stdin = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
编辑 2:我试过弄乱代码,但似乎没有什么能解决它。我觉得我只是在写错误的流。