线程基础一直不太好,也没怎么用过,最近看到了一些线程的代码,发现一个现象,run()方法中基本都会写while(true)的循环,如下:
public class XXXThread implements Runnable {
public void run(){
while(true) {
……
}
}
}
使用while(true)的作用:
run方法中的代码就是线程要运行的代码,运行完毕以后,就不会再次运行,其方法本身并不是无限循环的。而while(true)是为了让run方法中的代码不断重复的运行,也就是让线程不停的运行,便于查看效果。如果去掉,run运行结束,线程也就结束了。
当然,while(true)并不是run()方法必须的,如果线程的run()部分只需要执行一次,则不需要嵌套while(true)循环。