我正在测试一个重载的视频,该视频在Thread.sleep(1000)之后加载;它播放第二个视频。但是一旦我一次又一次地循环播放,它就会冻结。
当我删除所有那些Thread.sleep(1000); 它完美地工作而没有冻结。
但是我需要延迟(但不要使用Thread.sleep方法),我们该怎么做?
package test;
public class Test
{
static String what = "0";
public static void main(String args[])
{
Load.video720p("/tmp/START.mp4"); // This is 8 second movie playing
new javax.swing.Timer(8000, new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
if (what.equals("0") )
{
/* After 8 seconds play 0.mp4 */
callMe();
what = "1";
} else {
/* After 8 seconds play 1.mp4 */
callMe();
what = "0";
}
}
}).start(); /* Keep on looping every 8 seconds. */
}
/* 8 seconds interval call me. */
public static void callMe()
{
try {
/* Try 0: Freeze/Do not play */
Load.video720p("/tmp/" + what + ".mp4");
/* Try 1: Does not change films (cant run)
new Thread(new Runnable() {
public void run() {
Load.video720p("/tmp/" + what + ".mp4", EVENT_TRIGGER_TRUE);
}
});*/
/* Try 2: Fails
try {
javax.swing.SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
Load.video720p("/tmp/" + what + ".mp4");
}
});
} catch (Exception e) {
System.err.println(e);
}*/
/* Try 3: Failes
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
Load.video720p("/tmp/" + what + ".mp4");
}
});
} catch (Exception e) {
System.err.println(e);
}*/
} catch (Exception e) {
System.out.println(e);
}
}
}
如果您正在调用sleep()
事件处理线程,则可以,在此期间,GUI将冻结。一个更好的主意是使用SwingTimer
,它将允许您在指定的延迟后触发第二个视频的播放而无需调用sleep()
。
我正在尝试用Tkinter编写我的第一个基于GUI的python程序。我已经创建了一个基本窗口,它持有菜单栏和几个选项。 其中一个选项是一个标准的“about”框。当我用 它打开消息框,但在一个新窗口中,因此现在任务栏上显示了两个窗口。有没有办法阻止它打开一个新窗口而使用主窗口代替,或者有没有更好的办法来做这件事? null null null
从我的main开始,我将启动两个线程,称为producer和consumer。两者都包含循环。生产者循环是UDP服务器,因此不需要Hibernate。我的问题出在消费者方面。使用者循环将对象从链接队列中移除,并将其传递给一个函数进行进一步处理。根据研究,在循环中使用线程Hibernate不是一个好的实践,因为有时O/S在设定时间结束时不会释放。如果我删除线程Hibernate,当应用程序是理想的,
问题内容: 嗨,我想使用WMI类来查找应用程序和产品信息。但是问题是我想使用Java或任何脚本语言(如python,javascript或perl)。我听说过JWMI,这可能是一个选择。有人可以帮我吗??? 问题答案: JavaScript和Java不是一回事。 JavaScript Windows脚本宿主(WSH)下提供了JavaScript。有了它,访问WMI相当容易: jWMI(Java)
我从其他答案中尝试了各种方法,但还是无法解决这个问题。我把错误的副本放在http://randy.strausses.net/blog/bug/ 多谢了。另一种选择是放弃使用Eclipse。
问题内容: 该问题适用于曾经在Tomcat管理器中测试过“发现泄漏”按钮并获得如下结果的任何人: 以下Web应用程序已停止(重新加载,取消部署),但它们先前运行的类仍被加载到内存中,从而导致内存泄漏(使用探查器进行确认): / leaky-app-name 我假设这与您经常进行重新部署时经常遇到的“ Perm Gen space”错误有关。 因此,当我部署时在jconsole中看到的是加载的类从大