Java 类型不匹配:无法从void转换为Thread
我试图使java中的程序接受任何连接,但出现以下错误: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
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