成人免费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出入輸出

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

多線程協作數據

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多線程環境

2010-03-16 18:40:59

Java多線程編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩视频免费看 | 天天操天天射天天舔 | av网站观看 | 国产欧美日韩久久久 | 欧美一级免费看 | 国户精品久久久久久久久久久不卡 | 久久久久久国产 | 亚洲精品久久久一区二区三区 | 国产欧美日韩在线 | 日韩一区二区视频 | 黄色成人免费看 | 日韩精品国产精品 | 日韩欧美操 | 欧美一区久久 | 国产久 | 国产精品一区二区欧美黑人喷潮水 | 狠狠做深爱婷婷综合一区 | 国产超碰人人爽人人做人人爱 | 亚洲精品一区二区在线观看 | 欧美日韩在线播放 | 亚洲精品福利在线 | 男女在线网站 | 影音先锋久久 | 精品国产乱码一区二区三区 | 国产午夜在线观看 | 久久久久久久97 | 成人av播放 | 国产精品不卡一区 | 国产欧美日韩综合精品一 | 欧美日韩亚洲视频 | h视频免费观看 | 国产精品高 | 久久久国产一区 | 国产片一区二区三区 | 日韩国产一区二区三区 | 一级在线 | 精品1区2区| 一区二区av| 国产 亚洲 网红 主播 | 国产精品亚洲第一 | 伊人超碰 |