摘要:
11、线程池(重点) 线程池 Executors:3大方法、7大参数、4种拒绝策略 池化技术 程序的运行,本质:占用系统的资源!优化资源的使用! ==> 引进了一种技术池化池 线程池、连接池、内存池、对象池… 池化技术:事先准备好一些资源,有人要用,就来我这里拿,用完之后还给我。 线程池的好处 1、 阅读全文
摘要:
9、读写锁 自定义的缓存,没有加锁,就会出现一个没有写入完成,另一个突然插进来的情况 1 package com.xing.rw; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 /** 7 * ReadWriteLock 阅读全文
摘要:
8、常用的辅助类 CountDownLatch 减法计数器: 实现调用几次线程后 再触发某一个任务 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 package com.xing.demo03; import java.util.concurrent.C 阅读全文
摘要:
6、集合类不安全 1、并发下ArrayList 不安全 1 package com.xing.Unsafe; 2 3 import java.util.*; 4 import java.util.concurrent.CopyOnWriteArrayList; 5 6 public clas 阅读全文
摘要:
5、8锁的现象 如何判断锁的是谁,锁到底锁的是谁:对象和class Test1 package com.xing.lock8; import java.util.concurrent.TimeUnit; /** * 8锁,就是关于锁的八个问题 * 1.标准情况下,两个线程去打印 先输出发短息 阅读全文
摘要:
1、什么是JUC 1、什么是juc(学习方法:官方文档+源码) JUC —— (java.util.concurrent)是一个包名的缩写,java工具类下的一个并发功能的包。 该包下存放的均为多线程相关类, Runnable 没有返回值、效率相比入 Callable相对较低,但callable可以 阅读全文
摘要:
7、线程通信问题 生产者消费者模式的问题 应用场景︰生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库﹐消费者将仓库中产品取走消费﹒ 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止. 如果仓库中放有产品﹐则消费者可以将产品 阅读全文
摘要:
6、线程同步 1.介绍 多个线程操作同一个资源 由于同一进程的多个线程共享同一块存储空间,在带来方便的同时,也带来了访问冲突问题,为了保证数据在方法中被访问时的正确性,在访问时加入锁机制synchronized ,当一个线程获得对象的排它锁,独占资源,其他线程必须等待,使用后释放锁即可,存在以下问题 阅读全文