91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 9KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-04
  • 語言: Java
  • 標簽: lamport??java??

資源簡介

java實現(xiàn)同步算法在分布式系統(tǒng)中的實現(xiàn)與應用,用lamport算法解決停車場問題

資源截圖

代碼片段和文件信息

import?java.util.linkedList;
import?java.util.ListIterator;

import?javax.swing.JOptionPane;

public?class?EntryPort?{
private?int?logicalTime?=?0?replyCount?=?0?joinReply;
public?int?unoccupiedNum?entryNum?exitNum?totalPortNum;?
public?Mailbox?mailbox;
private?int?id;
private?boolean?criticalEntered?=?false;
private?Message?applyMsg?=?null;
private?linkedList?appList;

public?EntryPort(int?id?InitialView?initialView)
{
this.unoccupiedNum?=?initialView.unoccupiedNum;//空位數(shù)
this.entryNum?=?initialView.entryNum;
this.exitNum?=?initialView.exitNum;
this.totalPortNum?=?this.entryNum?+?this.exitNum;
this.id?=?id;//本地ID號
this.mailbox?=?new?Mailbox(initialView);
appList?=?new?linkedList();
}

public?synchronized?void?apply(){
try
{
if(unoccupiedNum?==?0){
JOptionPane.showMessageDialog(null“There?is?no?space?left?now.?Please?wait...“
“Info“JOptionPane.INFORMATION_MESSAGE);
return?;
}

Message?applyMsg?=?new?Message(1?logicalTime?0?id?1);
++logicalTime;

replyCount?=?entryNum?-?1;

for(int?i?=?0;?i? {
applyMsg.clock?=?logicalTime;
++logicalTime;
if?(id?!=?i)
{
mailbox.send(1?i?applyMsg);
}
}

while(replyCount?!=?0)
{
wait();
}

while?(unoccupiedNum?==?0)
{
wait();
}

criticalEntered?=?true;

release();
}
catch(Exception?e)
{
System.out.println(e);
}
}

public?synchronized?void?jion(){
try
{
joinReply?=?entryNum?-?1;
Message?msg?=?new?Message(5?-1?0?id?1);

for(int?i?=?0;?i? {
msg.clock?=?logicalTime;
++logicalTime;
if?(id?!=?i)
{
mailbox.send(1?i?msg);
}
}

while(joinReply?!=?0)
{
wait();
}

criticalEntered?=?true;

joinReply?=?exitNum;
for(int?i?=?0;?i? {
msg.clock?=?logicalTime;
++logicalTime;
mailbox.send(0?i?msg);
}

while(joinReply?!=?0)
{
wait();
}

msg?=?new?Message(1?logicalTime?logicalTime?id?1);
for(int?i?=?0;?i? {
msg.clock?=?logicalTime;
++logicalTime;
mailbox.send(0?i?msg);
}

msg?=?new?Message(2?logicalTime?logicalTime?id?1);
ListIterator?iter?=?appList.listIterator();
while(iter.hasNext())
{
msg.clock?=?logicalTime;
++logicalTime;
mailbox.send(1?msg.source?msg);
iter.remove();
}
applyMsg?=?null;
criticalEntered?=?false;
System.out.println(“A?new?entry?has?been?added?successfully!“);
}
catch(Exception?e)
{
System.out.println(e);
}
}

public??void?receive(){
try
{
Message?msg?=?mailbox.pop();
synchronized(this)
{
logicalTime?=?1?+?((msg.clock?>?logicalTime)??msg.clock?:?logicalTime);
//1:application;?2:reply;?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????6546??2009-01-01?21:41??停車場問題實驗源程序\EntryPort.java

?????文件???????2512??2009-01-01?15:17??停車場問題實驗源程序\ExitPort.java

?????文件???????4695??2008-12-21?20:53??停車場問題實驗源程序\InitialView.java

?????文件????????714??2008-12-16?10:54??停車場問題實驗源程序\ListTest.java

?????文件???????1084??2009-01-01?15:18??停車場問題實驗源程序\Mailbox.java

?????文件????????459??2009-01-01?15:02??停車場問題實驗源程序\Message.java

?????文件????????203??2008-12-16?11:17??停車場問題實驗源程序\NewTest.java

?????文件?????????28??2008-12-13?13:26??停車場問題實驗源程序\Port.java

?????文件???????3561??2009-01-01?08:56??停車場問題實驗源程序\PortPanel.java

?????文件???????1007??2008-12-15?14:17??停車場問題實驗源程序\Test.java

?????文件????????279??2008-12-19?17:14??停車場問題實驗源程序\Test1.java

?????文件????????567??2008-12-16?10:43??停車場問題實驗源程序\UseClass.java

?????目錄??????????0??2009-01-01?15:16??停車場問題實驗源程序

-----------?---------??----------?-----??----

????????????????21655????????????????????13


評論

共有 條評論