为这个模棱两可的标题道歉——我想不出如何用这个词来形容一个标题。
基本上,我正在尝试用 Java 创建一个简单的服务器/客户端程序。我的服务器运行一个线程来不断检查新连接,然后如果找到一个连接 - 它会为该连接创建一个线程和一个连接对象。
问题出现在检查新连接的线程上 - 它没有工作,直到我开始错误检查并在行中添加:
System.out.println("");
它突然开始正常工作。删除此行会导致不会为连接添加新线程。我认为它为线程正常运行或其他东西提供了足够的延迟,所以我放了一个 for 循环一段时间,看看它是否有效 - 但除了那一条简单的线之外,没有其他任何东西可以工作。
下面是创建新连接线程的代码:
class ThreadCreator implements Runnable {
ThreadCreator() {
}
public void run() {
while(true) {
System.out.println("WHY DOES THIS WORK??");
for(int i = 0; i < connections.size(); i++) {
if(connections.get(i).thread == false) {
Runnable ReadRunnable = new Read(connections.get(i));
Thread ReadThread = new Thread(ReadRunnable, "MWHAHAH");
ReadThread.setPriority(Thread.MAX_PRIORITY);
ReadThread.start();
connections.get(i).thread = true;
System.out.println("THREAD CREATED");
}
}
}
}
}
我无法想象会出什么问题..?