偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

開發(fā) 后端
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多線程實現(xiàn)任務分發(fā)
  3. Java多線程如何防止主線的阻塞
  4. Java多線程中wait語句的具體使用方法
  5. Java多線程如何解決關鍵字封鎖問題
責任編輯:張浩 來源: 博客園
相關推薦

2010-03-17 09:33:30

Java多線程方案

2013-12-12 17:21:46

Lua出入輸出

2010-03-15 17:56:23

Java多線程

2015-11-18 18:56:36

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

2010-03-15 19:47:30

Java多線程程序

2010-03-18 09:22:31

Java多線程遞歸

2010-03-15 18:34:08

Java多線程

2009-06-29 17:49:47

Java多線程

2021-12-26 18:22:30

Java線程多線程

2010-03-15 10:56:21

Python線程鎖

2021-06-29 07:47:23

多線程協(xié)作數(shù)據

2025-06-25 06:18:46

Linux多線程機制

2010-04-14 09:20:26

.NET多線程

2024-04-30 12:56:00

多線程.NET

2010-02-01 17:18:23

Python多線程環(huán)境

2010-03-16 18:40:59

Java多線程編程
點贊
收藏

51CTO技術棧公眾號