java中ThreadLocal避免线程不安全的方法

  介绍

这篇文章主要介绍java中ThreadLocal避免线程不安全的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

<强> 1,说明

ThreadLocal翻译是线程本地变量的意思,ThreadLocal就是用来创建线程的私有(本地)变量的。

每个线程拥有自己的私有对象,这样就可以避免线程不安全的问题了。

<强> 2,实例

 import  java.text.SimpleDateFormat;
  import  java.util.Date;
  import  java.util.concurrent.ExecutorService;
  import  java.util.concurrent.Executors;
  ,/* *
  ,* ThreadLocal 解决线程不安全问题
  ,*/public  class  SimpleDateFormatExample4  {
  ,,,//,创建,ThreadLocal 对象,并设置默认值(new  SimpleDateFormat)
  ,,,private  static  ThreadLocal threadLocal =,,,,,,,,,,,ThreadLocal.withInitial ((),→, new  SimpleDateFormat (“mm: ss"));
  ,
  ,,,public  static  void  main (String [], args), {
  ,,,,,,,//,创建线程池
  ,,,,,,,ExecutorService  threadPool =, Executors.newFixedThreadPool (10);
  ,,,,,,,//,执行,10,次时间格式化
  ,,,,,,,for  (int 小姐:=,0;,小姐:& lt;, 10;,我+ +),{
  ,,,,,,,,,,,int  finalI =,我;
  ,,,,,,,,,,,//,线程池执行任务
  ,,,,,,,,,,,threadPool.execute (new  Runnable (), {
  ,,,,,,,,,,,,,,@Override
  ,,,,,,,,,,,,,,,public  void 运行(),{
  ,,,,,,,,,,,,,,,,,,,//,创建时间对象
  ,,,,,,,,,,,,,,,,,,,Date  Date =, new 日期(finalI  *, 1000);
  ,,,,,,,,,,,,,,,,,,,//,格式化时间
  ,,,,,,,,,,,,,,,,,,,String  result =, threadLocal.get () .format(日期);
  ,,,,,,,,,,,,,,,,,,,//,打印结果
  ,,,,,,,,,,,,,,,,,,,System.out.println(结果);
  ,,,,,,,,,,,,,,,}
  ,,,,,,,,,,,});
  ,,,,,,,}
  ,,,,,,,//,任务执行完之后关闭线程池
  ,,,,,,,threadPool.shutdown ();
  ,,,}
  }
java基本数据类型有哪些

java的基本数据类型分为:1,整数类型,用来表示整数的数据类型。2,浮点类型,用来表示小数的数据类型。3,字符类型,字符类型的关键字是“字符”。4,布尔类型,是表示逻辑值的基本数据类型。

以上是“java中ThreadLocal避免线程不安全的方法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

java中ThreadLocal避免线程不安全的方法