并发
文章平均质量分 82
并发
脑瓜呆呆
一个后端小菜菜,在努力变厉害
展开
-
并发-Java并发机制的底层实现原理
它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另一个线程可以读到这个修改的值。volatile比synchronized的使用和执行成本更低,因为它不会引起线程上下文切换和调度。在生成汇编代码时会在volatile变量修饰的共享变量进行写操作的时候会多出Lock前缀的指令。Lock前缀的指令在多核处理器下会引发两件事情:(1)将当前处理器的缓存行的数据写回到系统内存。(2)这个写回内存的操作会使在其他CPU里缓存了该内存地址的数据无效。原创 2023-06-04 15:17:51 · 609 阅读 · 0 评论 -
并发-并发编程的挑战
实际上,系统内只有一个CPU,而使用多线程时,那么真实系统环境下不能并行,只能通过切换时间片的方式交替进行,而成为并发执行任务。可以参考concurrentHashMap锁分段的思想,不同线程处理不同段的数据,这样在多线程竞争条件下,可以减少上下文切换的时间。避免创建不需要的线程,比如任务很少,但是创建了很多的线程,这样会造成大量的线程都处于等待状态。异步调用指的是,调用者不管被调用的方法是否完成,都会继续执行后面的代码,当被调用的方法完成后会通知调用者。不一定,因为线程有创建和上下文切换的开销。原创 2023-04-02 16:32:19 · 226 阅读 · 0 评论
分享