![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 90
weixin_42873937
这个作者很懒,什么都没留下…
展开
-
多线程中ThreadLocal详解
1. ThreadLocal是什么,是用来解决什么问题的?ThreadLocal从字面意思来理解,是一个线程本地变量,也可以叫线程本地变量存储。有时候一个对象的变量会被多个线程所访问,这个时候就会有线程安全问题,当然可以使用synchronized关键字来为该变量加锁,进行同步处理来限制只能有一个线程来使用该变量,但是这样会影响程序执行的效率,这时ThreadLocal就派上了用场;使用T...原创 2018-09-21 17:09:17 · 6344 阅读 · 1 评论 -
生产中遇到的Java多线程问题
1. 问题场景:前几天一位同事分享了一段代码,这段代码在线上偶尔会报空指针异常,虽然是一个简单的NullPointerException,却是一个很不容易发现的多线程问题导致的,我们一起先来看下代码(这是我复原的测试代码,并非和生产一致,但整体逻辑是一样的):public class TestSingleton { private static volatile TestSingl...原创 2018-10-21 10:57:07 · 1118 阅读 · 3 评论 -
Java线程池的使用
概述:在一些场景下,我们使用多线程去解决一些高并发的问题,实现起来很方便。但是会有一些问题,如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么,有没有一种办法可以使得线程复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?答案是有的,通过线程池可以达到这样的效果,线程池最核心的类...原创 2018-10-21 23:28:38 · 174 阅读 · 1 评论