关于多线程的小问题?

匿名线程对象,传入的参数不是runnable的子类?为什么后面要把run方法写上
不知道是格式还是怎样??

new Thread(new Runnable(){
public void run(){
int x=0;
while(true){
if(x==0){
p.set("张三", "男");
}else{
p.set("lili", "nv");
}
x=(x+1)%2;
}
}
}).start();

这是创建一个匿名类,一个实现Runnable接口的匿名类的实例。

runnable是接口,呢么写是创建了一个接口的实现类。

java中实现线程的两种方式
实现接口implements Runnable()
{
@Override
public void run()
{
//写内容
}
}
继承父类extends Thread()
{
//写内容
}

其实Thread类也是实现Runnable接口的,建议使用Runnable接口,扩展性大;
还有就是你的代码太乱了,建议不要这样写,将实现接口的类单独拿出来