gpt4 book ai didi

java - System.out.println 在 Play Framework 控制台中乱序打印

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:57:39 26 4
gpt4 key购买 nike

我正在使用 Play 2.4 和 Activator 1.3.7,我注意到 System.out.println 并不总是按顺序打印到浏览器的控制台。这非常罕见,但我今天在行动中发现了它。以下是打印语句的顺序:

    System.out.println("width : " + mobileCrawl.getWidth());
System.out.println("window width : " + mobileCrawl.getWindowWidth());
System.out.println("scroll width : " + mobileCrawl.getScrollWidth());
System.out.println("seed : " + mobileCrawl.getSeed());
System.out.println("resolved seed : " + mobileCrawl.getResolvedSeed());
System.out.println("crawl date : " + mobileCrawl.getCrawlDate());
System.out.println("400 : " + mobileCrawl.isDetected400());
System.out.println("401 : " + mobileCrawl.isDetected401());
System.out.println("402 : " + mobileCrawl.isDetected402());
System.out.println("403 : " + mobileCrawl.isDetected403());
System.out.println("404 : " + mobileCrawl.isDetected404());
System.out.println("500 : " + mobileCrawl.isDetected500());
System.out.println("501 : " + mobileCrawl.isDetected501());
System.out.println("502 : " + mobileCrawl.isDetected502());
System.out.println("503 : " + mobileCrawl.isDetected503());

这是它打印的顺序(URL 已更改):

width : 980
window width : 980
scroll width : 980
seed : http://google.com/
resolved seed : https://www.google.com/
400 : false
401 : false
402 : false
crawl date : Fri Dec 18 11:18:09 MST 2015
403 : false
500 : false
404 : true
501 : false
502 : false
503 : false

在它应该有的之后打印三行的日期。这些都是来自同一个线程的打印语句,它们都来自 System.out,而不是来自 System.err,因此不应该有任何交错。

这些打印怎么会乱码呢?我认为 System.out 保证顺序。

最佳答案

正如 Max 评论的那样,如果您运行的是单线程,则不应发生这种情况。也许尝试同步您的调用,看看是否有什么东西在您不知情的情况下干扰了您的线程?:

public synchronized void println(String s) { System.out.println(s); }

关于java - System.out.println 在 Play Framework 控制台中乱序打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34361827/

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