StackOverflowError 的问题
0基础正在学习java,遇到一个线程出现Exception in thread "main" java.lang.StackOverflowError,各位大侠帮忙看看是怎么回事。我想让次线程sleep,但是我用Runnable接口,所以我new了一个实例,然后就出现这样的情况了。怎么样保证Runnable接口存在的情况下,使用sleep呢?我在网上查了StackOverflowError问题,说是有死循环。以下为代码。
public class EqualsTest {
public static void main(String[] args) {
Runner1 r=new Runner1();
Thread t= new Thread(r);
t.start();
for (int i = 0; i < 100; i++) {
System.out.println(i);
try {
t.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class Runner1 implements Runnable{
Runner1 ss= new Runner1();
Thread s =new Thread (ss);
public void run(){
for (int i = 0; i <200; i++) {
System.out.println("Runner1="+i);
try {
s.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}