大巴三個門同時上人 lock鎖

2022-06-12 21:36:10 字數 815 閱讀 7997

描述:

有一輛班車除司機外只能承載80個人,假設前中後三個車門都能上車,如果坐滿則不能再上車。請用執行緒模擬

上車過程並且在控制台列印出是從哪個車門上車以及剩下的座位數。

比如:(前門上車---還剩n個座...)

自己的**:

public class test03 

}class bus implements runnableelse

}try catch (interruptedexception e)

}}}/*

中門上車,已經坐了1個座位,還剩79個座位

前門上車,已經坐了2個座位,還剩78個座位

後門上車,已經坐了3個座位,還剩77個座位

中門上車,已經坐了4個座位,還剩76個座位

前門上車,已經坐了5個座位,還剩75個座位

後門上車,已經坐了6個座位,還剩74個座位

中門上車,已經坐了7個座位,還剩73個座位

前門上車,已經坐了8個座位,還剩72個座位..

.*/

答案(使用lock鎖):

public class demo03 

}class grabseat implements runnable

//競爭資源訪問完畢,釋放鎖

lock.unlock();

// 搶完乙個坐睡小下,給其他執行緒乙個搶座的機會

thread.sleep(10);

} catch (interruptedexception e) finally }}

}

Lock介面的三個實現類

一.reentrantlock 可重入鎖 即可重入鎖。具體可看 例 class clerk catch interruptedexception e system.out.println thread.currentthread getname product condition.signalall...

同時面了騰訊三個部門,拿下offer

這次的面試,一開始面試官就直接開問了,這個我看你的崗位投的是技術運維啊,不是我們崗位啊。那瞬間感覺不說了,內心已經絕望了,所以面試官詢問我是不是要繼續嘗試一下他們部門的方式,最終接受了他們的面試,由於不是正式的面試,所以面試官最終只是讓我做了兩套題,然後就over了,做的題也很簡單 將乙個int型的...

三個視窗同時賣票 用 實現Runnable方式

大致分析 多視窗即多執行緒,這裡的視窗個數就是執行緒物件數 先設定總票數 在run方法裡實現買票 借助迴圈重複完成買票這一動作 每賣完一張票總數 減減 直到票賣完退出迴圈 最後開啟執行緒 執行run方法 public class threerun implements runnable catch ...