java thread.sleep 1000_有没有更好或替代的方法可以跳过/避免在Java中使用Thread.sleep(1000)?...

我正在测试一个重载的视频,该视频在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);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值