并发编程
密码11位
这个作者很懒,什么都没留下…
展开
-
JUC介绍--Future异步回调
异步回调–对比AjaxrunAsync 没有返回值的异步调用正常执行测试:public class FutureAsync { public static void main(String[] args) throws ExecutionException, InterruptedException { //没有返回值的异步调用 runAsync CompletableFuture<Void> completableFuture = Comple原创 2020-08-23 16:02:47 · 252 阅读 · 0 评论 -
JUC介绍--线程池(三大方法 7大参数 4种拒绝策略)
线程池:三大方法 7大参数 4种拒绝策略线程池的好处:降低资源的消耗提高响应的速度方便管理线程复用、控制最大并发数、管理线程三大方法一般不同Executors工具类创建线程池,不安全public class ToolMethods { public static void main(String[] args) { //1. 单个线程 //ExecutorService threadPool = Executors.newSingleThreadExecutor(原创 2020-08-22 21:59:08 · 288 阅读 · 0 评论 -
JUC介绍--读写锁
读写锁,是一个更细粒度的锁一般对资源进行操作时,读取资源允许多线程同时占用;但是写入时为了保证数据安全我们要求只有一个线程操作。针对这种境况,在可重入锁的基础上提供了更加细粒度的锁–读写锁。//独占锁--写锁 一次只能被一个线程占有//共享锁--读锁 可以被多个线程占有public class ReadWriteLockDemo { public static void main(String[] args) {// MyCache myCache = new MyCac.原创 2020-08-22 16:36:47 · 134 阅读 · 0 评论 -
JUC介绍--常用辅助类(CountDownLatch CyclicBarrier Semaphore)
CountDownLatch减法计数器每次有线程调用countDownLatch.countDown()数量就-1数量减到0时,countDownLatch.await()会被唤醒,继续向下执行public class CountDownLatchDemo { public static void main(String[] args) throws InterruptedException { //总数是6,必须要执行任务的时候再使用 CountDownL.原创 2020-08-22 16:28:33 · 179 阅读 · 0 评论 -
JUC介绍--Callable
创建线程的方式之一,与Runnable接口的使用方式有以下区别可以有返回值可以抛出异常实现的方法不同 call()代码测试1. 线程的开启方式只能通过Runnable接口实现类,即new Thread(new Runnable()).start();2. FutureTask是Runnable接口的其中一个实现类;new Thread(new FutureTask<v>()).start();3.并且它可以通过Callable接口的实现类进行构造。所以,在Future原创 2020-08-22 11:15:12 · 124 阅读 · 0 评论 -
JUC介绍--不安全的集合演示和解决
传统并发操作List执行报错:java.util.ConcurrentModificationException 并发修改异常public class ListTest { public static void main(String[] args) { List<String> list = new ArrayList<>(); for (int i = 0; i < 10; i++) { new Th.原创 2020-08-22 10:20:33 · 115 阅读 · 0 评论 -
JUC介绍--锁的理解(4组问题阐述锁 )
4组(8个)问题阐述锁1.标准情况下(sendMsg没有延迟),两个线程先打印发短信还是打电话–>结果:先打印发短信2.sendMsg延迟4秒的情况下,两个线程先打印发短信还是打电话–>结果:先打印发短信解答:这种情况并不是因为代码书写顺序的原因,而是因为有锁的存在;synchronized锁的对象是方法的调用者phone,而两个方法用的是同一个锁,谁先拿到锁就要先执行完毕才会释放给下一个public class Lock8Question01 { public static原创 2020-08-21 22:45:43 · 171 阅读 · 0 评论