java中while空循环_java – 实现空while循环以保持控制的更好方法

假设你的程序是Java(…为什么你给它三个语言标签?)你有几个选择.您可以使用适当的同步事件,例如:

// fields

Object playerStopEvent = new Object();

boolean isPlaying;

// in your media player, when playback is complete:

synchronized (playerStopEvent) {

isPlaying = false;

playerStopEvent.notifyAll();

}

// elsewhere, when waiting for playback to complete:

synchronized (playerStopEvent) {

while (isPlaying) {

try {

playerStopEvent.wait();

} catch (InterruptedException x) {

// abort or ignore, up to you

}

}

}

mediaPlayer.stop();

有关更多示例,请参阅Guarded Blocks的官方教程.

你也可以让mediaPlayer在完成时调用一些回调,例如在开始播放时禁用GUI组件,并在调用完成的回调时重新启用它们(您也可以在此处使用事件侦听器方法).

没有更多的信息,我推荐后者,因为它不会阻止你在播放器播放时做其他无关的事情(或者让你的程序完全不响应),但前者可能更合适,具体取决于你的情况.

如果它在C或C中,则概念是相同的.使用与第一个选项相同的条件变量/事件,或者对第二个选项使用的任何等效的回调/侦听器/信号槽.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值