介绍
这篇文章主要介绍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 ThreadLocalthreadLocal =,,,,,,,,,,,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避免线程不安全的方法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!