线程Run中的循环不进入判断

问题遇到的现象和发生背景

线程类

遇到的现象和发生背景,请写出第一个错误信息

不使用线程休眠或者添加一些代码,进入不了IF判断

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
while (true) {
                    serverConnectClientThread = ManageClientThread.getServerConnectClientThread(message.getGetter());
                    Thread.sleep(1); // 加入线程休眠解决了不进入下面判断的问题 ->也不懂为什么
                    if (serverConnectClientThread != null) {
                        System.out.println("用户已在线,可以发送");
                        ObjectOutputStream oos = new ObjectOutputStream(serverConnectClientThread.getSocket().getOutputStream());
                        oos.writeObject(message);
                        break;
                    }
                   // System.out.println(serverConnectClientThread != null); //神奇代码,不添加就不行,无语

                }
运行结果及详细报错内容

无报错,之前添加线程休眠或者输出控制台的话就不进入判断,一直循环.

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

我添加线程休眠便可以了,但不知道原因在哪?希望遇到过这类情况的兄弟姐妹解答一下,非常感谢!

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

serverConnectClientThread 是否多线程可见