前川算法
前川算法实现
Maekawa 算法用于在分布式系统中实现互斥。 实现了原始算法的所有特征。 该算法是用Java实现的。 主要设计决策:分布式系统中的进程/节点被视为线程。 然后节点可以异步进入临界区。 但是进程进入 CS 的时间是按照问题陈述中的定义实现的。 进程使用套接字相互通信。 使用流套接字。 每个进程都在唯一的地址和端口上侦听消息。 每个进程都知道其 Quorum 中所有其他进程的地址。 这些地址在程序中是硬编码的。 没有实施名称服务器来执行此操作。 在程序中实现了CS的概念。 没有使用同步原语来定义 CS。 但是程序中的逻辑保证了进程互斥地访问 CS。
内部时钟; //逻辑时钟值交换(lamport) 消息:REQUEST=1,REPLY=2,RELEASE=3,GRANT=4,INQUIRE=5,FAILED=6,YEILD=7
编译过程: javac客户端.ja
2022-05-11 20:55:35
11KB
Java
1