比方说我要编一个游戏,屏幕上随机出现字符,我要在规定的时间内把屏幕上的字符通过键盘输进,如果成功了就加分,失败(超时)了就扣分,然后进行新一轮游戏。
这里我就遇到了了个问题,我用Runnable的方法,我要在5秒钟之内输入完屏幕上的字符,那么我就Thread.CurrentThread().sleep(5000);再通过侦听方式侦听我的按键,如果是失败了,由于run()里面是死循环,可以自动进行新一轮游戏,如果成功了,那么我就需要重置这个线程,否则run()里面的内容会继续运行下去。请问如何重置这个线程?可以把它删除然后在新建一个吗?还是有别的方法?
这里我就遇到了了个问题,我用Runnable的方法,我要在5秒钟之内输入完屏幕上的字符,那么我就Thread.CurrentThread().sleep(5000);再通过侦听方式侦听我的按键,如果是失败了,由于run()里面是死循环,可以自动进行新一轮游戏,如果成功了,那么我就需要重置这个线程,否则run()里面的内容会继续运行下去。请问如何重置这个线程?可以把它删除然后在新建一个吗?还是有别的方法?
run(){
while(flag){
....
}}等你要停时就把flag置成false
sleep(5000);
if (!lag) {
break;
}保证睡醒了后面的代码不执行,但睡觉了我就没办法了,只能让他睡了。