Java 类型不匹配:无法从void转换为Thread

Java 类型不匹配:无法从void转换为Thread,java,multithreading,server,connection,Java,Multithreading,Server,Connection,我试图使java中的程序接受任何连接,但出现以下错误: Exception in thread "main" java.lang.Error: Unresolved compilation problem: Type mismatch: cannot convert from void to Thread at ojas.gome.Server.<init>(Server.java:37) at ojas.gome.Server.main(Server.java:12) cli

我试图使java中的程序接受任何连接,但出现以下错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
Type mismatch: cannot convert from void to Thread

at ojas.gome.Server.<init>(Server.java:37)
at ojas.gome.Server.main(Server.java:12)
clientaccepter = new Thread(new Runnable() {
            public void run() {
                while(true) {
                    try {
                        server.accept();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }, "clientaccepter").run();

请告诉我是否遗漏了任何需要的内容。

您正在设置一个变量,该变量等于
运行
方法的结果,该方法不返回值-它是
无效

clientaccepter=新线程…运行()

如果需要保留对线程的引用,则应该声明线程,然后在单独的行上启动它。此外,您应该使用
start
开始新的
线程
而不是
运行
。请看。最后,变量应该以小写字母开头,请参见

  • 或者转到完整语句Thread t=new Thread(new Runnable()) 并调用t.run()或
  • 在该调用start()上直接创建新线程() 详情如下:

    public class InterfaceDemo {
    
        public static void main(String[] args) {
    
         new Thread(new Runnable() 
        {
            @Override
            public void run() 
            {
                for(int i=0;i<=10;i++) {
                    System.out.println("run() : "+i);
                }
            }
        }).start();
    
            for(int i = 1; i<=10; i++) {
                System.out.println("main() : "+i);
            }
        }// main
    } // class
    
    公共类接口DEMO{
    公共静态void main(字符串[]args){
    新线程(newrunnable())
    {
    @凌驾
    公开募捐
    {
    
    对于(int i=0;我不会在结尾调用
    run
    。您根本不应该调用它。在该行之后执行
    clientaccepter.start()
    以启动
    线程。
    
    public class InterfaceDemo {
    
        public static void main(String[] args) {
    
         new Thread(new Runnable() 
        {
            @Override
            public void run() 
            {
                for(int i=0;i<=10;i++) {
                    System.out.println("run() : "+i);
                }
            }
        }).start();
    
            for(int i = 1; i<=10; i++) {
                System.out.println("main() : "+i);
            }
        }// main
    } // class