第九周課程總結 實驗報告(七)

2022-05-25 01:33:08 字數 1565 閱讀 5993

第九周課程總結&實驗報告(七)

實驗任務詳情:

完成火車站售票程式的模擬。

要求:(

1)總票數1000張;(2

)10個視窗同時開始賣票;(3

)賣票過程延時1秒鐘;

(4)不能出現一票多賣或賣出負數號票的情況。

實驗過程:1.實驗**

public

class

test }}

package

com.company;

public

class market implements

runnable

public

intgetticket()

public

void

run()

catch

(interruptedexception e)

ticket--;

system.out.println(thread.currentthread().getname() + "賣票成功;" +"餘票:"+ticket);}}}}}

2.**截圖

3.實驗結果

總結

程序是程式的一次動態執行過程,它經歷了從**載入、執行到執行完畢的乙個完整過程,這個過程也是程序本身從產生、發展到最終消亡的過程。

多執行緒是實現併發機制的一種有效手段。程序和執行緒一樣,都是實現併發的乙個基本單位。

執行緒的主要**是在run方法裡寫的,但是啟動的時候是呼叫thread的start方法啟動。

要想實現多執行緒,必須在主線程中建立新的執行緒物件。任何執行緒一般具有五種狀態,即建立、就緒、執行、阻塞、終止。

在thread類中,可以通過getname()方法取得執行緒的

名稱,通過setname()方法設定執行緒的名稱。

執行緒的名稱一般在啟動執行緒前設定,但也允許為已經執行的執行緒設定名稱。允許兩個thread物件有相同的名字,但為了清晰,應該盡量避免這種情況的發生。

另外,如果程式並沒有為執行緒指定名稱,則系統會自動的為執行緒分配-乙個名稱。

在**塊上加上「synchronized"關鍵字的話,則此**塊就稱為同步**塊。

**塊格式:

synchronized

(同步物件)

第九周課程總結 實驗報告(七)

實驗任務詳情 完成火車站售票程式的模擬。要求 1 總票數1000張 2 10個視窗同時開始賣票 3 賣票過程延時1秒鐘 4 不能出現一票多賣或賣出負數號票的情況。源 package 實驗七 class mythread implements runnable catch interruptedexc...

第九周課程總結 實驗報告(七)

完成火車站售票程式的模擬。要求 1 總票數1000張 2 10個視窗同時開始賣票 3 賣票過程延時1秒鐘 4 不能出現一票多賣或賣出負數號票的情況。package line class mythread implements runnablecatch interruptedexception e ...

第九周課程總結 實驗報告(七)

thread類是乙個具體的類,該類封裝了執行緒的屬性和行為。thread類的建構函式有多個,比較常用的有如下幾個。1 public thread 這個方法建立了乙個預設的執行緒類物件。2 public thread runnable target 這個方法在上乙個建構函式的基礎上,利用乙個實現了ru...