【发布时间】:2023-03-25 19:45:01
【问题描述】:
我创建了一个并发系统,它有一个关键部分,涉及对 TXT 文件的读写访问。
首先,Auctioneer 类创建一个 TXT 文件并将数字 50 写入其中。然后,Auctioneer 允许下一个节点(投标人类的三个实例之一)打开文件并更改当前投标。投标人类然后允许下一个节点,另一个投标人投标,然后另一个投标人,然后那个投标人允许拍卖人查看文件。 我允许节点轮流使用服务器套接字。每个节点使用ServerSocket.accept() 方法等待访问,并通过使用下一个nde 正在侦听的套接字创建Socket object 来允许下一个节点进入其临界区。
这些节点中的每一个都在单独的 java 环境中独立运行,并且只与服务器套接字通信。
环的每个节点都依赖于前一个节点,因为为了该节点访问资源,前一个节点需要将令牌传递给当前节点。我不确定如何以符合 UML 的方式表示这种关系。
据我了解,类图不应包含同一类的多个实例,例如下面的示例,其中包含 3 个投标人。
这是表示我所描述的关系的正确方式吗?如果不是,哪种方式更好/符合 UML?
【问题讨论】:
-
每个投标人都与一个(或多个?)其他投标人有关联,这是类级别的自反循环。
-
如果您使用对象图 ISO,您也可以使用类图。
标签: sockets uml class-diagram