Thread-Specific-Storage[线程保管箱]

一:Thread-Specific Storage的参与者
--->记录日志的线程(ClientThread)
--->负责获取不同线程记录日志(Log)
--->负责将日志写入文件的类(TsLog)

       

二:Thread-Specific Storage模式什么时候使用
--->当每个线程必须有自己的独有信息时,可以将该信息放入线程保管箱ThreadLocal


三:Thread-Specific Storage思考
--->放置线程特有信息的地方
        (1)线程外--->线程的保管箱ThreadLocal
           (2)    线程内-->线程体的局部变量

--->多线程处理共有数据,存在共享互斥
--->共享互斥会降低性能,所以要尽量将共享互斥的范围缩小
--->线程的性能在于线程代码的实现

四进阶说明        
--->

记录日志的行为类

 1 package com.yeepay.sxf.thread11;
 2 
 3 import java.io.FileWriter;
 4 import java.io.PrintWriter;
 5 
 6 /**
 7  * 日志类
 8  * @author sxf
 9  *
10  */
11 public class TsLog {
12     //写日志对象
13     private PrintWriter printWriter=null;
14     
15     //构造器
16     public TsLog(String fileName){
17         try {
18             printWriter=new PrintWriter(new FileWriter(fileName));
19         } catch (Exception e) {
20             // TODO Auto-generated catch block
21             e.printStackTrace();
22         }
23     }
24     
25     //添加一条日志
26     public void addLogStr(String logstr){
27         printWriter.print(logstr);
28     }
29     
30     //关闭输出流
31     public void closeLog(){
32         printWriter.close();
33     }
34 }
View Code

相关文章:

  • 2021-12-22
  • 2022-02-14
  • 2021-06-11
  • 2021-09-02
  • 2022-12-23
  • 2021-06-02
  • 2022-02-18
  • 2022-12-23
猜你喜欢
  • 2021-11-02
  • 2021-08-28
  • 2021-11-20
  • 2022-01-02
  • 2021-10-17
  • 2021-10-23
  • 2022-01-24
相关资源
相似解决方案