多线程
文章平均质量分 72
madleep
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Thread-per-message
文章目录前言一、Thread-per-message简介二、程序例子1.Message类2.Message处理类3.客户端4.执行结果总结特点前言这一节内容比较简单,也就简单列个例子吧一、Thread-per-message简介字面理解就可以了,每个线程处理一个消息。二、程序例子1.Message类代码如下:package threadpermessage;public class Message { private String value; public Mes原创 2021-10-04 13:38:38 · 158 阅读 · 0 评论 -
CountDownLatch
文章目录前言一、CountDownLatch概述二、代码示例1.共享资源CounDown2.客户端前言日常生活中,通常我们完成一件事之后才会接着干下一件事,而一件事可能被分成多个环节由多个人去同步进行,有的人快,有的人慢。但不管怎样,只有全部人都完成了自己负责的环节才算这件事完成了,下一件事才得以继续。这跟java中的CountDownLatch很像,接下来我们就一起探讨下CountDownLatch一、CountDownLatch概述示例:一个或者多个线程需要在其它线程都完成任务之后才能执行,原创 2021-09-30 17:29:05 · 121 阅读 · 0 评论 -
Balking Design Pattern
文章目录前言一、Balking Design Pattern概述二、代码示例1.共享资源2.顾客线程(消费者)3.服务员线程4.客户端5.执行结果前言想一下,日常生活中,会有这样一个场景:去海底捞吃饭,海底捞的服务服务员都是服务很周到、很热情的。你的酒杯里没有酒了,他会自动上去服务。可能会有多个服务为你服务,当一个服务员服务完后离开了,这时另一个服务员经过,看到你的酒杯里的酒是满的。这时他就不会再向你服务了。与这个生活场景类似,多线程设计模式里有这么一个模式:Balking Design Patter原创 2021-09-29 20:56:43 · 156 阅读 · 0 评论 -
Future设计模式
文章目录前言一、什么是未来设计模式?二、代码示例1.Future2.Future实现类3.FutureService4.FutureTask5.客户端6.执行结果前言生活中我们为了完成一件事或者达成一个目标,常常需要别人来帮助,比如:我们要定制某个商品,我们需要商家去帮我们定制完成。再比如,我们要去干洗店洗衣间棉袄。正常情况下我们不会傻乎乎的等商家帮我们定制完成商品,或者让干洗店洗完棉袄,我们才去干自己的事情。一般我们都是把事情交给别人后,直接去干自己的事情了,等我们忙完自己的事情之后再去店里取订制品原创 2021-09-28 21:21:36 · 220 阅读 · 0 评论 -
读写锁设计模式
文章目录前言一、什么是读写锁设计模式二、问题考虑三、读写锁设计四、需求分析1、共享资源2、写工作线程3、读工作线程4、客户端前言承接上一节讲单线程执行设计模式中例子的问题:读和写用的是同一个锁。当多个线程同时需要进行读操作的时候,只有一个线程能够读,其它线程被阻塞。导致读操作的串行化,这会使得程序的执行效率降低。为了解决这个问题,我们要将读操作并行化。于是就有了ReadWriteLock Design Pattern(读写锁设计模式)。一、什么是读写锁设计模式读写锁设计模式就是将读锁和写锁分离开来原创 2021-09-25 17:57:09 · 424 阅读 · 0 评论 -
单线程执行设计模式
文章目录前言一、什么是单线程执行设计模式二、简单例子1.大门2.人3.客户端4.执行结果5.结果分析6.问题解决7.解决问题后的执行结果问题延伸前言这节我们一起探讨下多线程最简单的设计模式,单线程执行设计设计模式(Single Thread Execution Design Pattern)一、什么是单线程执行设计模式在某一时刻只有一个线程在执行,其它线程会进入block状态,这就是单线程执行设计模式。二、简单例子这里我们列举一个简单的例子:我们访问一个学校或者一个名人故居的时候都需要登记自己原创 2021-09-23 22:19:36 · 496 阅读 · 0 评论 -
观察者设计模式
文章目录前言一、什么是观察者设计模式?二、应用场景二、简单代码示例2.读入数据总结前言从本节内容开始我们要正式进入并发编程设计模式的学习了,首先讲的是观察者设计模式,我们先从java的设计模式开始,然后再过度到并发编程的观察者模式一、什么是观察者设计模式?关于什么是观察者模式?我的理解是这样的。首先观察者模式有观察者这么个角色,既然有观察者,那么就有被观察者。然后这个模式强调的是观察者两个字。也就是观察者实时观察这被观察者的一举一动。一旦被观察者的状态发生改变,那么所有的观察者就会做出相应的动作原创 2021-09-22 22:47:12 · 119 阅读 · 0 评论 -
volatile关键字二
文章目录前言一、volatile关键字的作用以及缺陷二、例子代码示例1三、volatile关键字的使用场景总结前言前两节内容我们讲了cpu内存模型、java内存模型、以及并发编程的三个重要概念。同时也举了个例子引入了volatile大概的作用。那接下里这一讲我们就可以很好的理解volatile的作用了,也就相当于对volatile关键字做最后的总结一、volatile关键字的作用以及缺陷1、保证线程间的可见性怎么保证可见性,相信大家都已经理解了。线程之间,如果有线程对共享变量进行了修改,那么其原创 2021-09-17 00:42:04 · 120 阅读 · 0 评论 -
并发编程的三个重要概念
文章目录前言一、并发编程的三个重要概念是什么?二、概念引入1.cpu的缓存解析2.cpu如何解决缓存不一致问题二、并发编程的三个概念1.原子性1.可见性3.有序性四、如何保证原子性、可见性、有序性。1.原子性2.可见性3.有序性前言想要学好并发编程,那么久要完全掌握并发编程的相关概念,接下来我们将一起探讨并发编程中的三个重要概念提示:以下是本篇文章正文内容,下面案例可供参考一、并发编程的三个重要概念是什么?1、原子性2、可见性3、有序性二、概念引入1.cpu的缓存解析为了更好的理解并原创 2021-09-15 23:35:07 · 468 阅读 · 0 评论 -
深入理解volatile关键字一
文章目录前言一、volatile概述二、问题引入1.例子2.执行结果分析总结前言volatile是java的第一个关键字,我们在很多地方都有看到。接下来我们一起探讨下这个关键字的作用和使用场景提示:以下是本篇文章正文内容,下面案例可供参考一、volatile概述volatile作为java的关键字,用来修饰变量,在多线程的场景下,能够保证程序的有序性和可见性。不用sychonized关键字就能实现线程安全。二、问题引入1.例子代码如下(示例):public class Volatile原创 2021-09-14 23:08:41 · 171 阅读 · 0 评论 -
waitset解读
文章目录前言一、waitset的概念二、例子1.代码例子2.waitset解读前言我们都知道在多线程中有这么一个概念:就是每个对象都有一个wait()方法,这个方法会使得对应的线程进入block状态。那么线程调用wait()方法后为什么会进入block状态呢?以及进入block状态后被唤醒会怎么样呢?接下来将我们一起探讨一下这个问题一、waitset的概念线程的synchronized同步代码块里,monitor调用wait()方法后,该线程就会被存入monitor对象的waitset里,让线程原创 2021-09-13 22:55:34 · 948 阅读 · 0 评论 -
单例的七种写法
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warning原创 2021-09-12 12:53:27 · 313 阅读 · 0 评论
分享