2021年3月9日
摘要: 1. 避免一个线程同时获得多个锁 2 尽量保证每个锁只占用一个资源 3. 尝试使用定时锁 4. 对于数据库锁,加锁和解锁必须在一个数据库连接里,否则会出现解锁失败的情况 阅读全文
posted @ 2021-03-09 17:21 蓝色阿根廷 阅读(798) 评论(0) 推荐(0) 编辑
摘要: 1. 无锁并发编程。多线程竞争锁,会引起上下文切换。如果是多线程处理数据时,可以根据hash分段处理数据,避免锁竞争 2. CAS算法。java的 atomic原子类 ,compare and swap,比较再交换,也是一直无锁算法。内存值V,旧的预期值A,要修改的新值B。如果内存值和A相同,则修改 阅读全文
posted @ 2021-03-09 17:12 蓝色阿根廷 阅读(291) 评论(0) 推荐(0) 编辑