我正在使用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
会保证顺序。