多线程编程
文章平均质量分 63
多线程
java_大胡子
这个作者很懒,什么都没留下…
展开
-
AQS的setState和compareAndSetState的区别
cas是用于复合操作state的情况,与是否线程竞争无绝对关系,线程竞争的情况下如果不是复合操作也可以用setStatecas释义cas是一个用于减少多线程切换时带来的开销的一种处理方式,通过先比较再交换的方式来尝试获得锁。一般用于轻量同步的情况。当配合循环使用的时候可以实现非阻塞的获取锁。以下摘自百度百科compare and swap,解决多线程并行情况下使用锁造成性能损耗的一种机制,CAS操作包含三个操作数——内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹配,那么原创 2021-05-30 21:08:50 · 1071 阅读 · 0 评论 -
从源码注释看java多线程的几种状态,以及几种状态的模拟
概述java定义的多线程主要有如下几种状态:创建、运行、阻塞、等待、限时等待、结束public enum State { /** * Thread state for a thread which has not yet started. */ NEW, /** * Thread state for a runnable thread. A thread in the runnable原创 2021-05-29 08:48:46 · 257 阅读 · 1 评论