Java八股文系列之三(多线程)

前言:

线程的应用场景较为广泛,掌握线程相关的知识是必不可少。限制于篇幅很多概念不过多深入,后续再逐步完善。有遗漏和希望补充的欢迎留言。

线程基本方法

线程相关的基本方法有 wait,notify,notifyAll,sleep,join,yield 等

JAVA锁

锁分类:乐观锁、悲观锁、自旋锁、偏向锁、Synchronized 同步锁、可重入锁、公平锁与非公平锁

共享锁和独占锁、ReadWriteLock 读写锁、重量级锁、轻量级锁、分段锁。

CAS:

CAS(Compare And Swap/Set)比较并交换,CAS 算法的过程是这样:它包含 3 个参数 CAS(V,E,N)。V 表示要更新的变量(内存值),E 表示预期值(旧的),N 表示新值。当且仅当 V 值等

于 E 值时,才会将 V 的值设为 N,如果 V 值和 E 值不同,则说明已经有其他线程做了更新,则当 前线程什么都不做。最后,CAS 返回当前 V 的真实值。
CAS 操作是抱着乐观的态度进行的(乐观锁),它总是认为自己可以成功完成操作。当多个线程同时 使用 CAS 操作一个变量时,只有一个会胜出,并成功更新,其余均会失败。失败的线程不会被挂 起,仅是被告

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值