y__ysu 2022-12-29 21:12 采纳率: 0%
浏览 26
已结题

线程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%

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

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

1条回答 默认 最新

  • 鱼找水需要时间 Java领域优质创作者 2022-12-29 23:11
    关注

    serverConnectClientThread 是否多线程可见

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月31日
  • 创建了问题 12月29日

悬赏问题

  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真
  • ¥15 关于#c语言#的问题,请各位专家解答!
  • ¥15 这个如何解决详细步骤