随笔分类 - 线程
摘要:为什么要使用线程池?什么是线程池?字面意思(他是一种基于池化思想管理和使用线程的机制,他将多个线程预先存储在一个池子中) 池化思想应用: 内存池:预先申请内存,提升申请内存速度,减少内存碎片. 连接池:预先申请数据库连接,提升连接速度,降低系统开销。 实例池:循环使用对象,减少资源在初始化和释放。比
阅读全文
摘要:公平锁和非公平锁 公平锁就是按照先来先服务、非公平就是不管你什么时候来,唤醒的时候都是随即唤醒。例如synchronize就是非公平锁,ReentrantLock既可以作为公平锁,也可以作为非公平锁。 可重入锁 可重入锁就是说某个线程已经获取到某个锁,这个线程跨域在次获取到这个锁而不会出现死锁。sy
阅读全文
摘要:概念:aqs是多线程同步器,他是juc包中多个组件的底层实现,比如lock、countDownLatch、Semaphore都用到了AQS,aqs提供了两种锁的机制分别是排他锁和共享锁。排它锁就是多个线程对同一共享资源进行竞争的时候,只允许一个线程访问,如lock中的ReentrantLock重入锁
阅读全文