自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 问答 (1)
  • 收藏
  • 关注

原创 多线程基础04_cas_unsafe

cas compare and swap 即比较再交换的意思。也称无锁优化、自旋锁(自旋就是在哪循环)、乐观锁。 cas(v,expectValue,newValue) v:内存值,expectValue:期望值,newValue :新值 ①if(v==expectValue){ ② v=newValue }else{ tryCasAgain or fail } 意思是进行cas操作时,如果内存值v等于期望值expectValue 那么将内存值改为新值newValue,否则再次调用cas,..

2020-09-03 12:12:55 79 1

原创 多线程基础03_volatile

volatile 两个特性 1、保证线程可见。 2、禁止指令重排序。 一、保证线程可见例子 public class T { volatile boolean running = true; void m(){ System.out.println("m start"); while (running){ } System.out.println("m end"); } public st

2020-08-28 15:41:38 107

原创 多线程基础02_synchnorized_及锁升级

synchnorized ,多线程对同一资源进行读写操作,会出现数据不一致的问题,为了保证线程安全,需要同步代码块。 synchnorized 锁 是可重入锁,当前线程获得锁,并且后面操作也是需要同样的锁时,锁可以重入,就是锁+1 +1,-1,-1。 锁的是对象,不是锁代码块,拿到锁的线程才能执行同步代码块,拿不到锁的线程等待锁释放,获得锁。 java对象的结构 可以看转载文章Java对象结构与锁实现原理及MarkWord详解,其中是使用对象结构中的对象头里的markword进行标识对象的线程锁状态。

2020-08-28 11:53:48 209

原创 多线程基础01_sleep_yield_join

Thread.sleep 当前线程离开cpu 让给其他的线程执行。 Thread.yield 把当前线程放到就绪队列,与其他线程一起竞争cpu,有可能是其他线程获取cpu执行权,也有可能是当前线程获取。 t2.join 将其它线程加入到当前线程来执行,等join的线程执行结束再执行,例如 t1里执行 t2.join(),那么t1将会等t2执行结束后再执行。 ...

2020-08-20 15:03:29 89

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除