JUC
文章平均质量分 90
Java高并发编程
夢想家吖
唯有自强不息,才有日后无限可能
展开
-
Day43 尚硅谷JUC——异步回调
同步和异步的通俗解释,比如需要找一个A同学,同步的话就是我在这个A同学的位置上一直等着他回来,不能干其他事情,而异步就是告诉其他一个B同学,A同学如果回来了通知我一声,我就可以干别的事情。查看原码分析,它是一个继承Throwable的类,查看其实现类发现都是异常,由此可知,返回的应该是异常。在java中可以使用CompletableFuture类来实现异步调用。通过CompletableFuture类来展示。发现u是一个null,那么他到底是什么含义呢?1.无返回值的异步任务。2.有返回值的异步任务。原创 2022-10-21 23:54:16 · 474 阅读 · 0 评论 -
Day42 尚硅谷JUC——Fork_Join分支合并框架
Fork/Join它可以将一个大的任务拆分成多 个子任务进行并行处理,最后将子任务结果合并成最后的计算结果,并进行输出。Fork:把一个复杂任务进行分拆,大事化小。Join:把分拆任务的结果进行合并1.任务分割:首先Fork/Join框架需要把大的任务分割成足够小的子任务,如果子任务比较大的话还要对子任务进行继续分割2.执行任务并合并结果:分割的子任务分别放到双端队列里,然后几个启动线程分别从双端队列里获取任务执行。原创 2022-10-20 22:19:36 · 617 阅读 · 0 评论 -
Day39、40、41 尚硅谷JUC——ThreadPool线程池
线程池(thread pool) : 一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。例子: 10年前单核CPU电脑,假的多线程,像马戏团小丑玩多个球, CPU需要来回切换。现在是多核电脑, 多个线程各自跑在独立的CPU上,不用切换效率高。1、corePoolSize(核心线程数)原创 2022-10-19 22:26:23 · 497 阅读 · 0 评论 -
Day38 尚硅谷JUC——BlockingQueue阻塞队列
阻塞队列,顾名思义,首先它是一个队列,通过一个共享的队列,可以使得数据由队列的一端输入,从另外一端输出;原创 2022-10-16 23:03:08 · 483 阅读 · 0 评论 -
Day37 尚硅谷JUC——乐观锁、悲观锁、读写锁、锁降级
JUC之乐观锁、悲观锁、读写锁、锁降级、表锁和行锁原创 2022-10-16 00:08:18 · 682 阅读 · 0 评论 -
Day35、36 JUC强大的辅助类
JUC——计数器CountDownLatch、循环栅栏CyclicBarrier、信号量Semaphore原创 2022-10-15 00:09:11 · 619 阅读 · 0 评论 -
Day34 尚硅谷JUC——Callable接口
继承Thread类实现Runable接口,没有返回值,不抛出异常} }实现Callable接口,有返回值,会抛出异常。这个返回值可以被Future 拿到,也就是Future 可以拿到异步执行任务的返回值,可以声明异常,需要以实现的callable接口的类为参数创建FutureTask对象,将FutureTask作为参数创建Thread对象;while(!} //如果没有计算完成就要去强求,会导致阻塞,值得计算完成 int result2 = futureTask . get();原创 2022-10-12 23:01:24 · 414 阅读 · 0 评论 -
Day32、33 尚硅谷JUC——多线程锁
Java中的每一个对象都可以作为锁。具体表现为以下3种形式。对于普通同步方法,锁是当前实例对象。对于静态同步方法,锁是当前类的Class对象。对于同步方法块,锁是Synchonized括号里配置的对象死锁就是两个或者两个以上进程在执行过程中,因为争夺资源而造成一种互相等待的现象,如果没有外力干涉,他们无法再执行下去。原创 2022-10-11 22:30:52 · 598 阅读 · 0 评论 -
Day12 尚硅谷JUC——集合的线程安全
尚硅谷——集合的线程安全原创 2022-09-20 22:43:14 · 290 阅读 · 0 评论 -
Day10 尚硅谷JUC——线程间通信
第一步:创建资源类,在资源类创建属性和操作方法第二步:在资源类操作方法判断干活通知第三步:创建多个线程,调用资源类的操作方法第四步:防止虚假唤醒问题。原创 2022-09-18 23:15:24 · 314 阅读 · 0 评论 -
Day9 尚硅谷JUC——Lock接口
Lock锁实现提供了比使用同步方法和语句可以获得的更广泛的锁操作。它们允许更灵活的结构,可能具有非常不同的属性,并且可能支持多个关联的条件对象。Lock提供了比 synchronized更多的功能。原创 2022-09-18 21:45:32 · 239 阅读 · 0 评论 -
Day8 尚硅谷JUC——JUC概述
JUC概述原创 2022-09-16 19:30:43 · 622 阅读 · 0 评论