JUC知识点总结
Synchronized与Lock的区别
1)Synchronized能实现的功能Lock都可以实现,而且Lock比Synchronized更好用,更灵活。
2)Synchronized可以自动上锁和解锁;Lock需要手动上锁和解锁
Runnable和Callable的区别
1)Runnable接口中的方法没有返回值;Callable接口中的方法有返回值
2)Runnable接口中的方法没有抛出异常;Callable接口中的方法抛出了异常
3)Runnable接口中的落地方法是run方法;Callable接口中的落地方法是call方法
什么是分布式锁
当在分布式模型下,数据只有一份(或有限制),此时需要利用锁的技术控制某一时刻修改数据的进程数。分布式锁可以将标记存在内存,只是该内存不是某个进程分配的内存而是公共内存,如 Redis,通过set (key,value,nx,px,timeout)方法添加分布式锁。
什么是分布式事务
分布式事务指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。