gpt4 book ai didi

java - 我在运行 java 线程时遇到问题,它只能运行一次

转载 作者:行者123 更新时间:2023-12-02 05:47:23 24 4
gpt4 key购买 nike

我正在使用套接字设计一个聊天应用程序。这是从服务器读取数据的代码。它编译得很好,但线程只运行一次。请帮帮我。

public void reader() {
Thread read=new Thread(){
public void run(){
try {
while(true) {
if(in.readLine()!=null) {
System.out.println("Recived Message: "+ in.readLine());
}
}
}catch(Exception e){}
}
};

read.setPriority(10);
read.start();
}

好吧,我尝试了这段代码,但它不起作用

public void reader()
{
Thread u=new Thread()
{
public void run()
{
try {
while(true)
{
System.out.println("ssss");
if(input.readLine()!=null)
{
String message=input.readLine();
System.out.println("SERVER:"+message);
}
else{
Thread.sleep(1);
}

}
}
catch (IOException e)

e.printStackTrace();
} catch (InterruptedException e)
{
e.printStackTrace();
}

}

};
try{
u.start();
}catch(Exception e){}
}

我得到的输出是SS就一次。但我有一个 while 循环始终为真。为什么 ir 不无限运行?

最佳答案

(由于信誉低而无法发表评论...)

这样更好地阅读行:

String line = "";
while( (line = in.readLine()) != null) {
System.out.println("Recived Message: " + line);
}

PS:小心,您正在调用 2 次 readLine()

关于java - 我在运行 java 线程时遇到问题,它只能运行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23928745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com