摘要:
锁是一种悲观策略,总是觉得会出问题,所以小心翼翼地操作。 无锁是一种乐观策略,总是假设不会出现问题,如果出现问题,那就重新操作。无锁一般使用CAS作为策略。 比较交换CAS: CAS算法包括三个参数:需要更新的变量,预期值,更新值。只有当需要更新的值等于预期值时,说明其他线程没有对它进行操作,使需要 阅读全文
摘要:
如果说锁是让线程有序的争夺资源的话,那么ThreadLocal就是让每个线程都有一份资源。 打个比方,锁是让一百个人争夺一只笔区写字,ThreadLocal就是一百个人每人都有一只笔,在轮到他们写字的时候写。 写个简单的例子: Demo里有一个test内部类,有一百个线程,每个线程都有一个test类 阅读全文