随笔 - 303  文章 - 0  评论 - 3  阅读 - 15万

随笔分类 -  Web服务器深度调优 / 并发编程

Java线程并发编程,使用但是没有总结过。这个小节作为总结并重新学习的一个过程
多线程设计模式之Future模式
摘要:在JDK中实现线程同步等待闭环(FutureTask/Future)中已经涉及到了Future模式,相对与多线程设计模式之Worker Thread模式有何异同呢?在多线程设计模式之Worker Thread模式中client和worker之间没有任何直接联系,即worker执行的结果client是 阅读全文
posted @ 2024-06-20 10:23 池塘里洗澡的鸭子 阅读(22) 评论(0) 推荐(0) 编辑
多线程设计模式之Worker Thread模式
摘要:以前用C/C++写进程池,要么一下子fork最大进程数,要么来一个任务fork一个进程。多线程也可以这样设计,并总结这种模式为Worker Thread模式。 类图如下: 具体实现参考如下代码(一次性开启足够多的线程): 1)Request Request角色表示工作。Request角色中保存了工作 阅读全文
posted @ 2024-06-19 12:31 池塘里洗澡的鸭子 阅读(30) 评论(0) 推荐(0) 编辑
线程池实现原理
摘要:在Java线程的实现/创建方式中介绍了集中线程创建的方式,最后一种是线程池的方式创建线程。那么线程池是基于什么样的原理实现的呢?线程复用——参考多线程设计模式之Worker Thread模式中自定义线程池的使用。 1、线程复用原理: 每一个 Thread 的类都有一个 start 方法。 当调用 s 阅读全文
posted @ 2021-12-30 11:08 池塘里洗澡的鸭子 阅读(956) 评论(0) 推荐(0) 编辑
FutureTask类的get方法如何实现线程同步等待
摘要:在JDK中实现线程同步等待闭环(FutureTask/Future),为什么使用了FutureTask中的get方法就可以实现线程的同步等待?这就将重点讲述下FutureTask这个类了,实际上Future接口和实现Future接口的FutureTask类,表示异步计算的结果。其UML类继承图,如下 阅读全文
posted @ 2021-12-29 15:41 池塘里洗澡的鸭子 阅读(1280) 评论(0) 推荐(0) 编辑
线程基本方法及其对线程状态的影响
摘要:Java线程的实现/创建方式实现/创建了线程,那么线程设置了哪些状态及线程对象方法对这些状态有什么样的改变呢? 首先看看线程设置了哪些状态: 通过上图可知,Thread使用内部枚举类State设置了其6中状态:new, runnable, blocked, waiting, timed_waitin 阅读全文
posted @ 2021-12-28 12:54 池塘里洗澡的鸭子 阅读(84) 评论(0) 推荐(0) 编辑
Java线程的实现/创建方式
摘要:1、继承Thread类: Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。 启动线程的唯一方法就是通过 Thread 类的 start()实例方法。 start()方法是一个 native 方法,它将启动一个新线程,并执行 run()方法。 2、实现Runnab 阅读全文
posted @ 2021-12-28 10:31 池塘里洗澡的鸭子 阅读(222) 评论(0) 推荐(0) 编辑
Java线程间通讯——等待通知机制
摘要:在JDK中实现线程同步等待闭环(FutureTask/Future)中已经实现了线程之间的同步等待。具体如何实现的呢?需要分析具体方式具体代码,如下: 1、join()方法 2、Future/FutureTask 以上两图中都有wait字眼,即等待线程结束。这种Java中对多线程执行顺序使用等待/通 阅读全文
posted @ 2021-10-31 23:19 池塘里洗澡的鸭子 阅读(185) 评论(0) 推荐(0) 编辑
JMM之synchronized关键字
摘要:在JDK中实现线程同步等待闭环(FutureTask/Future)中实现同步等待,使用了synchronized关键字而且一定要使用该关键字。为什么呢?与其与生俱来的功能相关——对于通讯,涉及两个关键字volatile和synchronized: Java支持多个线程同时访问一个对象或者对象的成员 阅读全文
posted @ 2021-10-31 18:17 池塘里洗澡的鸭子 阅读(63) 评论(0) 推荐(0) 编辑
JDK中实现线程同步等待闭环(FutureTask/Future)
摘要:实际Thread类自带的join方法就实现了线程同步等待,具体可以通过案例实践,如下: 本文的重点不是join,而是另一种设计的同步等待实现,涉及的关键类有:Thread、Runable、Callable、Future、FutureTask、ThreadPoolExecutor。将它们分为两组介绍: 阅读全文
posted @ 2021-10-13 11:50 池塘里洗澡的鸭子 阅读(65) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示