
并发编程
文章平均质量分 75
主要介绍java并发编程相关知识
beyond的架构之旅
这个作者很懒,什么都没留下…
展开
-
Java并发专题三:Java内存模型
基于《java并发编程的艺术》整理便于以后复习详细知识点可在书中查阅Java内存模型3.1 java内存模型基础3.1.1 并发编码模型的两个关键问题 – 线程是并发执行的活动实体3.1.2 Java内存模型的抽象结构3.1.3 从源代码到指令序列的重排序3.1.4 happens-before3.2 重排序3.2.1 数据依赖性3.2.2 as-if-serial语义3.2.3 重排序对多线程的影响3.3顺序一致性3.4volatile的内存语义3.4.1 volatile特性:3.4.2 vol.原创 2022-04-04 14:54:17 · 444 阅读 · 0 评论 -
Java并发专题二:Java并发机制的底层实现原理
基于《java并发编程的艺术》整理便于以后复习详细知识点可在书中查阅Java并发机制的底层实现原理volatilesynchronizedLock原子操作的实现volatilevolatile相当于轻量级的synchronized,作用是在多处理器下保证数据的可见性,如果使用得当,会比synchronized的执行成本更低,因为它不会引发线程上下文切换和调度。volatile修饰的变量就是告知系统,任何对此变量的操作都需要从共享内存中获取,而对他的改变则必须刷新回共享内存中,保证所有线程对.原创 2022-03-27 18:15:20 · 949 阅读 · 0 评论 -
Java并发专题一:并发编程的挑战
基于《java并发编程的艺术》整理便于以后复习详细知识点可在书中查阅并发编程多线程加速程序运行所面临的问题:上下文切换、死锁、硬件和软件的限制。上下文切换CPU按照分配给各个程序的时间片来执行程序或者切换线程执行。切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。多线程不一定更快,并发执行的操作在不是大数据量的情况下会比串行的慢。上下文切换势必会带来时间上的开销,解决的方法有:无锁并发编程CAS算法使用最少线程使用协程个人理解:在跑的.原创 2022-03-27 17:46:22 · 1814 阅读 · 0 评论 -
java中协程使用
java中协程使用背景实践结论扩展背景Java协程,大家做Java这么久估计也没有怎么听过Java协程的东西,但是经常有听到协程的概念。本片文章就java中具体使用协程给大家介绍下协程具体在java中的使用方式。看了很多java应用quasar框架实现协程的例子,但是很多写的驴头不对马嘴,所以这里自己写篇文章记录下。当我们在使用多线程的时候,如果存在长时间的I/O操作。这个时候线程一直处于阻塞状态,如果线程很多的时候,会存在很多线程处于空闲状态,造成了资源应用不彻底。相对的协程不一样了,在单线程中多原创 2022-03-02 17:47:48 · 3216 阅读 · 0 评论 -
Java中wait()与notify()方法的使用
wait()、notify()方法介绍1、wait()方法:让当前线程(持有锁的线程)处于等待(阻塞)的状态,并且释放它持有的锁。该线程将处于阻塞状态,直到其它线程调用notify()或者notifyAll()方法唤醒,线程进入就绪状态。2、wait(long):让当前线程(持有锁的线程)处于等待(阻塞)的状态,直到其它线程调用notify()或者notifyAll()方法或者超过指定的时间,线程进入就绪状态。3、notify():唤醒持有锁上的其中一个线程。让那个线程从等待状态变成就绪状态。4、n转载 2021-10-07 17:00:39 · 1665 阅读 · 0 评论 -
并发编程面试题
基础知识并发编程的优缺点为什么要使用并发编程(并发编程的优点)充分利用多核CPU的计算能力:通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升方便进行业务拆分,提升系统并发能力和性能并发编程有什么缺点并发编程的目的就是为了能提高程序的执行效率,提高程序运行速度,但是并发编程并不总是能提高程序运行速度的,而且并发编程可能会遇到很多问题,比如:内存泄漏、上下文切换、线程安全、死锁等问题。什么叫线程安全?servlet 是线程安全吗?线程安全是编程中的术语,指某个方法转载 2021-10-03 11:32:47 · 2372 阅读 · 0 评论