![](/img/trans.png)
[英]System.out.println and System.err.println out of order
[英]System.out.println prints out of order in Play Framework console
我將Play 2.4與激活器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); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.