随笔 - 531  文章 - 0  评论 - 3  阅读 - 10215 

 

原子性,可见性,有序性

happens-before 原则6条

管程: 

  互斥:临界区,共享资源

  同步  条件变量,等待队列

 

关于活锁中的"谦让":比如释放锁

 

CopyOnWriteList ,所谓写时复制:

  1. 读的时候读原数组

  2. 写(需加锁):新数组,把原来的所有东西复制过去,然后更改数组引用 

 

threadlcoal类: 

  每个线程拥有变量的备份,避免线程安全

   

1
Map<String, LinkedBlockingQueue<Runnable>> stack = afterTransactionOpts.get();<br>    afterTransactionOpts.set(stack);afterTransactionOpts.get();

  原理: 

    threadlocal 是一个代理工具类,用户使用threadlocal ---> 拿到当前线程 ---->thread.  threadLocalMap ---> map.get( threadlocal)

    

 

注意threadlocal 与 线程池 一起使用时容易发生内存泄漏,应该手动释放内存(remove )

 

 

 

CountDownLatch和CyclicBarrier:如何让多线程步调一致?

   原理: 锁,计数器, 条件变量( wait,signal) 

 

posted on   towboat  阅读(1)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示