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