Advertisement

ThreadLocal关键字的使用及其内存泄露原因与避免方法

阅读量:

ThreadLocal解决了什么问题?内部源码是怎么样的?

确保多线程环境下数据的一致性 ,通过复制机制隔离各线程的数据 ,使得各线程能够在共享内存空间中访问同一对象 ,比如connection

通过get()和set()方法实现机制

复制代码
    public class ThreadLocalTest {
    private static ThreadLocal<Long> threadLocal = new ThreadLocal<>();
    public static void main(String[] args) throws InterruptedException {
        //开启多个线程来执行任务
        Task task = new Task();
        new Thread(task).start();
        Thread.sleep(10);
        new Thread(task).start();
    }
    static class Task implements Runnable{
        @Override
        public void run() {
            Long result = threadLocal.get();

全部评论 (0)

还没有任何评论哟~