一、實驗目的
(1)加深對程序併發執行的理解,認識多程序併發執行的實質。
(2)觀察程序共享資源的現象,學習解決程序互斥和同步的方法。
二、實驗要求:
本實驗要求用高階語言,啟動多程序併發執行,設計相應**,顯示程序無關併發、程序共享變數併發的執行結果。並完成實驗報告。
三、實驗內容:
分別實現以下四種情況的併發:
1.併發的程序之間無關,顯示程序名稱,開始與結束時間。
模擬多終端售票情況,併發的多個終端程序之間共享剩餘票數這個共享變數。
2.用全域性變數實現。
3.用程序間共享資料機制實現。
4.用程序間共享資料機制和加鎖機制實現。
四、實驗過程與結果
演算法思想與設計
演算法實現**
執行結果
public
class
sellticket
implements
runnable
catch
(interruptedexception e)
tb.start();
try
catch
(interruptedexception e)
tc.start();
try
catch
(interruptedexception e)
synchronized
(b)
}
public
static
int
count =
10
;
//全域性票數
public
volatile
boolean
why =
true
;
private
object prev;
private
object self;
public
sellticket(object prev,object self)
@override
public
void
run()
private
boolean
print()
if
(!(count==
0
))
catch
(interruptedexception e)
}
}
system.out.println(thread.currentthread().getname()+"return true");
return
true
;
}
system.out.println(thread.currentthread().getname()+"return false");
return
false
;
}
}
作業系統實驗一 併發程式設計
一 實驗目的 1 加深對程序併發執行的理解,認識多程序併發執行的實質。2 觀察程序共享資源的現象,學習解決程序互斥和同步的方法。二 實驗要求 本實驗要求用高階語言,啟動多程序併發執行,設計相應 顯示程序無關併發 程序共享變數併發的執行結果。並完成實驗報告。三 實驗內容 分別實現以下四種情況的併發 1...
作業系統實驗一 併發程式設計
一 實驗目的 1 加深對程序併發執行的理解,認識多程序併發執行的實質。2 觀察程序共享資源的現象,學習解決程序互斥和同步的方法。二 實驗要求 本實驗要求用高階語言,啟動多程序併發執行,設計相應 顯示程序無關併發 程序共享變數併發的執行結果。並完成實驗報告。三 實驗內容 分別實現以下四種情況的併發 1...
作業系統實驗一 併發程式設計
一 實驗目的 1 加深對程序併發執行的理解,認識多程序併發執行的實質。2 觀察程序共享資源的現象,學習解決程序互斥和同步的方法。二 實驗要求 本實驗要求用高階語言,啟動多程序併發執行,設計相應 顯示程序無關併發 程序共享變數併發的執行結果。並完成實驗報告。三 實驗內容 分別實現以下四種情況的併發 1...