「线程」 为何停止以后就不能再启动了?
我写的一个刷新歌词的线程,提供了启动和停止功能,但是现在的情况是停止以后再启动,就会后报错
thread already started
上代码
- Java code
/** * 歌词线程 * * @author 赵占涛 <a href="http://www.baisoft.net">百元软件工作室</a> zhaozhantao@21cn.com QQ:369880281 * */ class LyricThread extends Thread{ /** * 正在播放否? */ private boolean playing; /** * 停止歌词滚动 */ public void stopScroll(){ playing = false; } @Override public void run() { while (playing){ lyricView.setTime(musicService.getCurrentPosition()); try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } } } /** * 开始滚动 */ @Override public void start(){ playing = true; super.start();//错误报在了这一行**************************第一次没事,第二次就报错***************说已经started了, } }
[解决办法]
每次重新new LyricThread().start()就可以了。
[解决办法]
[解决办法]
貌似有一个唤醒线程的方法
[解决办法]
你的线程已经被杀死了,当然不能重新启动啊。(run方法结束后, 线程自然死亡)
你要挂起线程的话,用wait,唤醒用notify或notifyAll
[解决办法]
Run方法执行完了 线程就结束了