20240228

54.螺旋矩阵

本题中从外到内进行遍历,每一次遍历一个环,初始时设left为环的最左则横坐标,right为环的最右侧横坐标,top为环的最上侧纵坐标,buttom为环的最下侧纵坐标,即left = 0, right = n - 1, top = 0, button = m - 1,m为矩阵的宽,n为矩阵的长,每遍历一环,环围成的矩阵四个方向的长度均减1,每次横向遍历长度为right - left,纵向遍历长度为button - top,算法的流程如下图:

注意:由于遍历环的上、下边时,每次遍历长度为right - left,因此两种相等时,环横向的宽度为1,此时已跳出循环,因此需对这一列单独遍历,遍历左、右边时同理。

搭建集群时并发安全问题:

每一个java虚拟机jvm都有一个锁监视器,仅能保证该虚拟机内部只有一个线程进行互斥操作,对于不同的集群由于使用了不同的jvm,因此普通悲观锁无法实现集群间互斥。

上图中JVM1和JVM2分别代表集群中的一台主机,每一个JVM中均有锁监视器实现对该主机内线程的互斥,但不能实现主机间线程互斥,如线程1和线程3。

分布式锁:

定义:满足分布式系统或集群模式下多进程可见并且互斥的锁。

常见分布式锁对比:

全部评论

相关推荐

头像
不愿透露姓名的神秘牛友
03-09 20:58
点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务