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

資源簡介

多道程序緩沖區協調操作 如下圖1所示,有多個PUT操作要不斷循環地向Buffer1送字符數據,有Move1操作不斷地將Buffer1的數據取到Buffer2,Move2操作不斷地將Buffer1的數據取到Buffer3,有多個GET操作要不斷地從Buffer2和Buffer3中取數據。PUT、 MOVE、 GET每次操作一個數據,為了在操作的過程中要保證數據不丟失, 每個Buffer每次只能接受一個PUT或一個Move或一個Get。運用進程同步和互斥機制設計一個多道程序完成上述操作

資源截圖

代碼片段和文件信息

package?Main;



import?UI.MainFace;
import?UI.PopBufferCon;

public?class?Carrier?extends?Thread{
private?int?from;
private?int?to;
private?int?name;
private?object?obj;



public?Carrier(int?from?int?to?int?name)?{
super();
this.from?=?from;
this.to?=?to;
this.name?=?name;
}

public?void?run()
{
while(manipulate.run)
{
synchronized(manipulate.buffer1)
{
try?{
while(manipulate.buffer1.size()?==?0)
{
System.out.println(“Buffer1?is?emptyplease?wait!“);
manipulate.waitNumber++;
MainFace.frame.settitle(getString.settitle(manipulate.waitNumber?manipulate.buffer1.size()?manipulate.buffer2.size()?manipulate.buffer3.size()));
manipulate.buffer1.wait();

manipulate.waitNumber--;
MainFace.frame.settitle(getString.settitle(manipulate.waitNumber?manipulate.buffer1.size()?manipulate.buffer2.size()?manipulate.buffer3.size()));

}

obj?=??manipulate.buffer1.remove();

System.out.println(“Move?“+obj+“?to“?+?to+?“?form?“+from);
//從1移出???更新容量顯示
manipulate.strBuffer1[manipulate.NoBuffer1++]?=(“Move?“+obj+“?to“?+?to+?“?form?“+from);
manipulate.buffer1Con.remove(obj);
//設置彈出窗口的1標簽
manipulate.buffer1Contain?=?manipulate.buffer1Con.toString();
PopBufferCon.B1.setText(manipulate.buffer1Contain);

MainFace.List1.setListData(manipulate.strBuffer1);
Thread.sleep((long)(Math.random()*300*manipulate.speed));
manipulate.buffer1.notify();
}
catch(InterruptedException?e)
{
System.out.println(“Move?“+name+“?to“?+?to+“?is?interrupted!“);
}
}

if(to?==?2)
{
synchronized(manipulate.buffer2)
{
try?{
while(manipulate.buffer2.size()?==?manipulate.buffer2Capacity)
{
System.out.println(“Buffer2?is?fullplease?wait“);
manipulate.waitNumber++;

MainFace.frame.settitle(getString.settitle(manipulate.waitNumber?manipulate.buffer1.size()?manipulate.buffer2.size()?manipulate.buffer3.size()));
manipulate.buffer2.wait();
manipulate.waitNumber--;
MainFace.frame.settitle(getString.settitle(manipulate.waitNumber?manipulate.buffer1.size()?manipulate.buffer2.size()?manipulate.buffer3.size()));
}

if(manipulate.buffer2.add(obj))
{
System.out.println(“Move?“+obj+“?to?2?from?1“);
//記錄buffer2動態顯示過程
manipulate.strBuffer2[manipulate.NoBuffer2++]?=?(“Move?“+obj+“?to?2?from?1“);
manipulate.buffer2Con.add(obj);??//更新buffer內的數據
manipulate.buffer2Contain?=?manipulate.buffer2Con.toString();
PopBufferCon.B2.setText(manipulate.buffer2Contain);
MainFace.List2.setListData(manipulate.strBuffer2);

Thread.sleep((long)(Math.random()*300*manipulate.speed));
manipulate.buffer2.notify();
}
}
catch(InterruptedException?e)
{
System.out.p

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

?????文件????????396??2018-12-24?08:42??OSProject\.classpath

?????文件????????385??2018-12-24?08:42??OSProject\.project

?????文件????????642??2018-12-24?08:42??OSProject\.settings\org.eclipse.jdt.core.prefs

?????文件???????4049??2018-12-28?10:55??OSProject\bin\Main\Carrier.class

?????文件???????3364??2018-12-28?10:55??OSProject\bin\Main\Consumer.class

?????文件???????1327??2018-12-27?19:13??OSProject\bin\Main\getString.class

?????文件???????2206??2018-12-28?13:27??OSProject\bin\Main\manipulate.class

?????文件???????2773??2018-12-28?09:48??OSProject\bin\Main\Procedure.class

?????文件????????721??2018-12-28?09:37??OSProject\bin\UI\Dialog$1.class

?????文件????????664??2018-12-28?09:37??OSProject\bin\UI\Dialog$2.class

?????文件???????4395??2018-12-28?09:37??OSProject\bin\UI\Dialog.class

?????文件???????3084??2018-12-28?08:22??OSProject\bin\UI\MainFace.class

?????文件???????1732??2018-12-28?09:37??OSProject\bin\UI\MainInterface$1.class

?????文件???????1573??2018-12-28?09:37??OSProject\bin\UI\MainInterface$2.class

?????文件????????617??2018-12-28?09:37??OSProject\bin\UI\MainInterface$3.class

?????文件????????617??2018-12-28?09:37??OSProject\bin\UI\MainInterface$4.class

?????文件???????1106??2018-12-28?09:37??OSProject\bin\UI\MainInterface$5.class

?????文件???????1108??2018-12-28?09:37??OSProject\bin\UI\MainInterface$6.class

?????文件???????4301??2018-12-28?09:37??OSProject\bin\UI\MainInterface.class

?????文件???????1539??2018-12-27?20:56??OSProject\bin\UI\PopBufferCon.class

?????文件???????2468??2018-12-27?12:03??OSProject\hs_err_pid17456.log

?????文件??????43778??2018-12-27?12:03??OSProject\hs_err_pid21864.log

?????文件?????265058??2018-12-27?12:03??OSProject\replay_pid21864.log

?????文件???????4608??2018-12-28?10:55??OSProject\src\Main\Carrier.java

?????文件???????3209??2018-12-28?10:55??OSProject\src\Main\Consumer.java

?????文件????????763??2018-12-27?11:16??OSProject\src\Main\getString.java

?????文件???????1943??2018-12-28?13:27??OSProject\src\Main\manipulate.java

?????文件???????1981??2018-12-28?09:48??OSProject\src\Main\Procedure.java

?????文件???????3956??2018-12-28?09:37??OSProject\src\UI\Dialog.java

?????文件???????3277??2018-12-28?08:22??OSProject\src\UI\MainFace.java

............此處省略13個文件信息

評論

共有 條評論