并发编程
文章平均质量分 74
苟且.
这个作者很懒,什么都没留下…
展开
-
如何理解synchronized锁升级
锁在运行时会根据竞争的情况逐步升级锁的状态,从无锁到偏向锁再到轻量级锁,最后才是重量级锁。这种锁升级的过程是为了在保证数据安全的前提下,尽量减少锁带来的性能开销。关键字是实现线程同步的一种方式,它涉及到锁的升级和释放的过程。锁的升级可以分为三个阶段:无锁状态、偏向锁状态和轻量级锁状态。原创 2024-07-04 15:15:15 · 346 阅读 · 0 评论 -
CompletableFuture和FutureTask
runAsyncthenApplythenAcceptthenRunhandlecompletejoinallOfanyOfrungetcancelisDone这些API提供了灵活的异步编程和任务控制机制,使得在Java中进行并发编程变得更加简便和高效。通过合理使用这些工具,可以大大提高程序的性能和响应能力。原创 2024-07-04 10:31:16 · 412 阅读 · 0 评论 -
synchronized和volatile
在Java内存模型中,涉及到volatile变量的可见性时,主内存和本地缓存是两个重要的概念。主内存(Main Memory)主内存是所有线程共享的内存区域。所有的volatile变量都存储在主内存中。线程的工作内存(Thread’s Working Memory,或称本地内存)中的变量值必须从主内存中读取。当一个线程修改了一个volatile变量的值,它会立即将修改后的值刷新到主内存中,而不是仅仅更新自己的本地缓存。本地缓存(Thread’s Working Memory)原创 2024-07-04 10:18:02 · 672 阅读 · 0 评论