成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java多線程調試如何完成信息輸出處理

開發 后端
Java多線程調試需要我們不斷重復復雜而又繁重的工作。但這又是我們必須去做的。下面我們就來看看在Java多線程調試中關鍵的幾個點。

Java多線程調試是很繁瑣的,但是還是需要我們不斷進行相關的學習。下面我們就來看看在Java多線程調試中需要我們注意的相關關鍵點。為了查看中間結果一般采用將信息輸出到System.out中。

這樣就產生了一個問題:很多個線程的輸出信息都簡單的輸出到控制臺上,當我們要查看每個線程自己處理的中間信息時很麻煩。最近在一個實踐項目中,使用了Log4j讓每個線程輸出到自己的log文件中,這樣在調試的時候很方便。

1. 配置log4j.properties文件

  1. lg4j.rootLogger=DEBUG,stdout  
  2. # stdout is set to be a ConsoleAppender.   
  3. log4j.appender.stdout=org.apache.log4j.ConsoleAppender   
  4. log4j.appender.stdout.layout=org.apache.log4j.
    PatternLayout   
  5. log4j.appender.stdout.layout.ConversionPattern
    [%t] (%F,%L) - %m%n   
  6. log4j.additivity.log4j.stdout=false   
  7. # com.se.crawler.Crawler Appender.   
  8. log4j.logger.com.se.Crawler.Crawler=DEBUG,Crawler  
  9. log4j.appender.Crawler=org.apache.log4j.FileAppender  
  10. log4j.appender.Crawler.File=Crawler.log   
  11. log4j.appender.Crawler.Append=false 
  12. log4j.appender.Crawler.layout=org.apache.log4j.PatternLayout  
  13. log4j.appender.Crawler.layout.ConversionPattern=%m%n   
  14. log4j.additivity.com.se.crawler.Crawler=false 
  15. # com.se.crawler.LinkProcessor Appender.   
  16. log4j.logger.com.se.crawler.LinkProcessor=DEBUG,Link
    Processor  
  17. log4j.appender.LinkProcessor=org.apache.log4j.FileAppender  
  18. log4j.appender.LinkProcessor.File=LinkProcessor.log   
  19. log4j.appender.LinkProcessor.Append=false 
  20. log4j.appender.LinkProcessor.layout=org.apache.log4j.
    PatternLayout  
  21. log4j.appender.LinkProcessor.layout.ConversionPattern=%m%n  
  22. log4j.additivity.com.se.crawler.LinkProcessor=false 

說明:rootLogger為控制臺,Crawler,LinkProcessor為兩個線程,分別輸出到Crawler.log和LinkProcessor.log文件中。

2. 在線程中添加日志代碼

  1. ……  
  2. import org.apache.log4j.Logger;  
  3. ……  
  4. public class Crawler extends Thread {  
  5. ……  
  6. protected static Logger logger = Logger.
    getLogger(Crawler.class);  
  7. ……  
  8. logger.debug(msg);  
  9. ……  

這樣,在線程運行的時候會自動產生兩個日志文件Crawler.log和LinkProcessor.log,并將中間結果輸出到各自的日志文件中。以上就是對Java多線程調試的相關代碼介紹。

【編輯推薦】

  1. Java多線程初學者指南系列教程
  2. 使用Java多線程實現任務分發
  3. Java多線程如何防止主線的阻塞
  4. Java多線程中wait語句的具體使用方法
  5. Java多線程如何解決關鍵字封鎖問題
責任編輯:張浩 來源: 博客園
相關推薦

2010-03-17 09:33:30

Java多線程方案

2013-12-12 17:21:46

Lua出入輸出

2015-11-18 18:56:36

Java多線程處理

2010-03-15 17:56:23

Java多線程

2024-09-26 10:51:51

2009-03-12 10:52:43

Java線程多線程

2023-05-12 14:14:00

Java線程中斷

2024-06-12 12:50:06

2009-06-29 17:49:47

Java多線程

2021-12-26 18:22:30

Java線程多線程

2010-03-15 19:47:30

Java多線程程序

2010-03-15 18:34:08

Java多線程

2010-03-18 09:22:31

Java多線程遞歸

2025-06-25 06:18:46

Linux多線程機制

2021-06-29 07:47:23

多線程協作數據

2010-04-14 09:20:26

.NET多線程

2024-04-30 12:56:00

多線程.NET

2010-03-15 10:56:21

Python線程鎖

2010-03-16 18:40:59

Java多線程編程

2020-09-08 10:56:55

Java多線程存儲器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久久久午夜片 | 综合精品久久久 | 久久九精品 | 岛国二区 | 亚洲精品在线播放 | 992tv人人草| 久久久国产视频 | 成人在线视频免费观看 | 精品国产欧美一区二区三区成人 | 中文字幕av亚洲精品一部二部 | 久久精品一区二区 | 美日韩精品 | 一区观看 | 亚洲一区中文字幕 | 99精品一区二区 | 综合色播 | 国产欧美在线一区二区 | 久久久久久精 | 中文字幕高清av | 91免费看片| 伊人中文网| 国产精品国产a级 | 国产精品成人69xxx免费视频 | 国产视频亚洲视频 | 国产精品欧美日韩 | 国产精品明星裸体写真集 | 久久精品国产一区二区三区不卡 | 91精品国产一区二区三区香蕉 | av黄色免费 | 精品国产一区二区三区av片 | 国产精品一区网站 | 成人影视网 | 亚洲精品日本 | 日日日干干干 | 国产一区二区欧美 | 日韩在线观看中文字幕 | 欧美精品在线观看 | www.性色| 伊人伊人伊人 | 91精品国产乱码久久久久久久 | 日韩av在线免费 |