![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 68
严文文-Chris
这个作者很懒,什么都没留下…
展开
-
并发机制底层实现原理(二)
Java代码在编译后会变成java字节码,字节码类加载器被加载到JVM, JVM执行字节码,最终转化为汇编指令在CPU上执行,所以JAVA的并发编程依赖于JVM的实现和CPU的指令。 volatile的应用 在多线程并发编程中synchronized,volatile是并发编程的扛把子,但是两者的区别是volatile是轻量级的synchronized,在多线程中保证共享变量的“可见性”,可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。volatile比synchronized的原创 2022-04-25 15:57:55 · 457 阅读 · 1 评论 -
并发编程挑战及解决方案(一)
为什么需要并发编程 让程序运行更快,但不是线程越多,程序运行越快。 挑战 接下来讲讲并发编程的挑战 上下文切换的挑战 单核处理器也可以支持多线程执行代码,cput通过给每个线程分配CPU时间片来实现。当前任务执行一个时间片后会切换到下一个任务,但是切换前会保存上一个任务的状态,方便下次切换回这个状态。任务从保存到再加载的过程就是一次上下文切换。 上下回切换带来性能消耗,所以尽量减少上下文切换 如何减少上下文切换 无锁并发编程。多线程争夺锁会造成上下文切换,所以可采取避免锁的方式。如将数据ID按照hash算原创 2022-04-25 11:28:36 · 547 阅读 · 0 评论