自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 《java并发编程的艺术》第二章总结

Volatile的应用 volatile是一种轻量级锁,它保证了多线程中共享变量的可见性,volatile变量修饰符比synchronized的使用和执行成本更低,因为它不会引起上下文的切换。 volatile的定义和实现原理 对于volatile是通过以下的原理保证线程间共享变量的可见性 1)将当前处理器缓存行的数据写回到系统内存 2)写回时同时令其他CPU中缓存的该内存地址的数据无效 对于CPU来讲为了提高速度,CPU不直接和内存进行通信,而是先将系统内存的数据读到缓存,但是CPU在进行写操

2021-10-03 15:31:35 83

原创 《java并发编程的艺术》第一章总结

并发编程的目的是为了让程序更快地运行,但是,启动更多的线程并不一点让程序最大程度的并行。 上下文切换 单核处理器也能多线程执行代码,处理器是通过时间片的快速切换来实现多线程的,时间片的时间非常短,所以CPU要不停的切换线程执行,时间片一般是十几毫秒。 所以当前任务执行完一个时间片后会切换到下一个任务。但是,在切换前会保存上一个线程的状态,下次切换回该线程时可以再加载这个任务的状态。任务从保存到加载就是一次上下文切换。 根据上下文切换的定义,CPU在切换线程时会保存状态和加载状态,这样的切换同样也是消

2021-10-01 16:43:56 85

空空如也

空空如也

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

TA关注的人

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