
Java并发
文章平均质量分 60
程序猫大刚
我是一名软件工程师,为技术奋斗。<br>我的个人博客地址:http://mg.meiflower.top/mb
展开
-
熟悉Java内存模型JMM
要搞懂指令重排,首先要知道一条指令在CPU内是如何执行的,如下图约5个步骤。为了加快指令并行速度,CPU硬件支持了流水线技术。不同的指令步骤执行在不同的硬件局部,从而可以支持同时并发执行。知道了CPU流水线之后,我们来看一个A=B+C的流水线执行过程例子:如果按串行排列,则耗时4 * 5 = 20个时钟周期;使用CPU流水线并行技术后,可以只消耗9个时钟周期,节省了11个时钟周期的时间。所以流水线技术的引入,大大提高了CPU并行执行速度。...原创 2022-08-12 10:36:13 · 243 阅读 · 0 评论 -
并发模式之异步回调Future模式
在JDK1.5中提供了Future模式,获取数据时阻塞的,所以其他框架(guava和netty)对Future模式做了扩展,支持了回调函数。在JDK1.8中提供了,支持了更加强大的异步回调、流式处理、多个Future组合处理的能力。...原创 2022-07-28 10:52:08 · 981 阅读 · 0 评论 -
并发模式之生产者消费者模式
可以通过将存储的数据使用填充对齐到缓存行(64字节)大小,使得每个缓存行只存一个数据。阻塞队列来做内存缓冲区,但是由于使用了锁和阻塞等待来实现线程间的同步,所以新能不高。类型64位即8字节,补7个加上自己的一个工8个,合计64字节,刚好占一个缓存行大小))就是典型的生产者消费者模式(其中任务是线程),其中内存缓冲区的实现使用的是。而LMAX公司开发了一套无锁实现的高性能生产者消费者模式的框架,叫做。生产者消费者模式是一个经典的多线程设计模式。例子(生产者生成数据,消费者计算数据平方)...原创 2022-07-28 10:40:05 · 285 阅读 · 0 评论 -
并发模式之单例和不变模式
在并发场景中,不变对象是不需要同步操作的。(因为对象不会改变,所以多个线程访问不会出现不一致问题)在多种写法中,推荐使用静态内部类方式,利用类加载一次特性确保只有一个实例(线程安全),JDK中所有的元数据类、包装类都是使用不变模式实现的。单例模式是为了确保系统中某个类只存在一个实例。同时具备无锁和懒创建优点。...原创 2022-07-28 10:37:46 · 95 阅读 · 0 评论 -
Java关键字synchronized
是同步块,实现了多线程间的互斥同步。它修饰的代码,确保任一时刻只有一个线程进入访问。原创 2022-07-24 10:26:05 · 125 阅读 · 0 评论 -
Java的线程实现
当我们追踪Java线程的实现时,可以发现Thread类的start方法最后会运行一个start0方法,而这个方法是native的,也就是交由JDK来实现的(JDK会屏蔽调底层操作系统的差异,提供给Java开发者一套通用的线程接口)线程的主要实现方式有3种(线程模型),分别是使用内核线程实现、使用用户线程实现和使用用户线程加轻量级进程混合实现。用户线程的创建、同步、销毁及调度完全是在用户态中完成,不需要切换到内核态,因此操作是快速且低消耗的。而要搞清楚这个问题的答案,首页我们得对线程的实现有一定的了解。...原创 2022-07-20 22:22:40 · 300 阅读 · 0 评论 -
Java多线程同步控制
重入锁可以允许一个线程连续2次获取同一把锁,当然解锁也需要解锁2次。(关键字synchronized也是重入锁)原创 2022-07-17 17:11:19 · 222 阅读 · 0 评论 -
并行程序基础
了解并行基础如程序、进程和线程定义及关系线程生命周期Java内线程的常用API原创 2022-07-11 11:56:15 · 219 阅读 · 0 评论 -
线程池入门到精通
复用创建好的线程,节约创建和销毁的时间。需要使用线程时,就从池子里拿一个空闲的线程,完成工作后,归还线程给线程池。原创 2022-07-11 11:46:50 · 150 阅读 · 0 评论 -
Java关键字volatile
语义上,volatile是表示易变的、不确定的。功能上,是Java提供的最轻量级的同步机制。要弄懂如何保证可见性的,先要知道CPU的缓冲架构,如下图:因为CPU的执行速度和内存的读写速度,相差太大。CPU完成操作后,如果要等到内存也执行完成再继续下一个操作的话,对CPU算力就是极大的浪费。所以为了匹配2者的速度差,引入了高速缓存。现在CPU一般都有3级缓存,其中一级缓存离CPU核最近,速度也最快,可分为指令缓存和数据缓存2部分;下面是二级缓存,一个CPU核心就配备一个一级缓存和二级缓存的,是私有的。而三级原创 2022-07-05 11:03:27 · 353 阅读 · 0 评论 -
走入并行的世界
带你进入并行的世界原创 2022-07-01 11:16:49 · 124 阅读 · 0 评论