上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 26 下一页

2018年8月14日

Java并发编程原理与实战二十五:ThreadLocal线程局部变量的使用和原理

摘要: 1.什么是ThreadLocal ThreadLocal顾名思义是线程局部变量。这种变量和普通的变量不同,这种变量在每个线程中通过get和set方法访问, 每个线程有自己独立的变量副本。线程局部变量不存在多个线程同时对同一个变量的操作,所以不会有线程安全问题。 2.ThreadLocal变量的使用 阅读全文

posted @ 2018-08-14 08:07 pony1223 阅读(916) 评论(0) 推荐(0)

2018年8月11日

Java并发编程原理与实战二十四:简易数据库连接池

摘要: 参考资料: 《java并发编程实战》龙果学院 阅读全文

posted @ 2018-08-11 20:49 pony1223 阅读(267) 评论(0) 推荐(0)

Java并发编程原理与实战二十三:Condition原理分析

摘要: 先来回顾一下java中的等待/通知机制 我们有时会遇到这样的场景:线程A执行到某个点的时候,因为某个条件condition不满足,需要线程A暂停;等到线程B修改了条件condition,使condition满足了线程A的要求时,A再继续执行。 自旋实现的等待通知 最简单的实现方法就是将conditi 阅读全文

posted @ 2018-08-11 20:47 pony1223 阅读(2344) 评论(0) 推荐(0)

Java并发编程原理与实战二十二:Condition的使用

摘要: Condition的使用 Condition用于实现条件锁,可以唤醒指定的阻塞线程。下面来实现一个多线程顺序打印a,b,c的例子。 先来看用wait和notify的实现: public class Demo { private volatile int singal; public synchron 阅读全文

posted @ 2018-08-11 20:41 pony1223 阅读(376) 评论(0) 推荐(0)

Java并发编程原理与实战二十一:线程通信wait&notify&join

摘要: wait和notify wait和notify可以实现线程之间的通信,当一个线程执行不满足条件时可以调用wait方法将线程置为等待状态,当另一个线程执行到等待线程可以执行的条件时,调用notify可以唤醒等待的线程。需要强调的是,在调用wait和notify时需要先获取锁,否则会抛出IllegalM 阅读全文

posted @ 2018-08-11 20:38 pony1223 阅读(309) 评论(0) 推荐(0)

Java并发编程原理与实战二十:线程安全性问题简单总结

摘要: 一、出现线程安全性问题的条件 •在多线程的环境下 •必须有共享资源 •对共享资源进行非原子性操作 二、解决线程安全性问题的途径 •synchronized (偏向锁,轻量级锁,重量级锁) •volatile •JDK提供的原子类 •使用Lock(共享锁,排它锁) 三、认识的“*锁” •偏向锁 Jav 阅读全文

posted @ 2018-08-11 20:34 pony1223 阅读(338) 评论(0) 推荐(0)

Java并发编程原理与实战十九:AQS 剖析

摘要: 一、引言在JDK1.5之前,一般是靠synchronized关键字来实现线程对共享变量的互斥访问。synchronized是在字节码上加指令,依赖于底层操作系统的Mutex Lock实现。而从JDK1.5以后java界的一位大神—— Doug Lea 开发了AbstractQueuedSynchro 阅读全文

posted @ 2018-08-11 20:21 pony1223 阅读(944) 评论(0) 推荐(2)

2018年8月6日

Java并发编程原理与实战十八:读写锁

摘要: ReadWriteLock也是一个接口,提供了readLock和writeLock两种锁的操作机制,一个资源可以被多个线程同时读,或者被一个线程写,但是不能同时存在读和写线程。 基本规则: 读读不互斥 读写互斥 写写互斥问题: 既然读读不互斥,为何还要加读锁答: 如果只是读,是不需要加锁的,加锁本身 阅读全文

posted @ 2018-08-06 08:25 pony1223 阅读(1841) 评论(0) 推荐(1)

2018年8月5日

Java并发编程原理与实战十七:AQS实现重入锁

摘要: 一、什么是重入锁 可重入锁就是当前持有锁的线程能够多次获取该锁,无需等待 二、什么是AQS AQS是JDK1.5提供的一个基于FIFO等待队列实现的一个用于实现同步器的基础框架,这个基础框架的重要性可以这么说,JCU包里面几乎所有的有关锁、多线程并发以及线程同步器等重要组件的实现都是基于AQS这个框 阅读全文

posted @ 2018-08-05 17:50 pony1223 阅读(773) 评论(0) 推荐(1)

Java并发编程原理与实战十六:AQS

摘要: 一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronized(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLo 阅读全文

posted @ 2018-08-05 17:50 pony1223 阅读(285) 评论(2) 推荐(0)

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 26 下一页

导航