執行緒池 一家飯店的一天

2022-05-11 03:01:52 字數 1923 閱讀 9688

有幾家飯店,顧客源源不斷下單,生意很好,一開始隨機僱傭送外賣的小哥來取包裹派送(建立執行緒),發現太麻煩,打**給小哥浪費時間(執行緒開銷大,銷毀切換)。

a飯店高階飯店, 使用者都是高階人士,路途遙遠,要求的配送人員素質高,

1.配送部門成立(執行緒池 threadpool)。

2.部門有10 個小哥 全職送外賣(核心執行緒數量 corepoolsize)。

3.15 輛電瓶車,10個小哥忙不過來, 最多叫5個臨時小哥來送,因為只有15 輛電瓶車,所以最多隻存在15 個人在送貨(最大執行緒數 maxpoolsize)。

4.乙個存放外賣的桌子,當正在派送的外賣》小哥的數量,外賣會放到桌子上(佇列,預設 linkedbolckqueue,用於儲存外賣)。

5.正在途中配送外賣 大於10個的時候,老闆會檢視每個小哥休息時間,因為人員多了成本就多了,如果乙個小哥連續乙個小時(keeplivetime,大於核心執行緒數量,會去考慮空閒時間)仍然接不到外賣,就把他解雇了(執行緒摧毀)。

b飯店快餐店,都是路途比較近的,普通大眾客戶,要求馬上吃飯

1.配送部門成立(執行緒池 threadpool)。

2 因為生意太火爆, 配送人員太大了,沒有聘用固定的正式人員(核心執行緒0)

3 配送人員數量基數大(maxpoolsize 為integer.maxvalue)

4 乙個存放外賣的桌子(預設 synchronousqueue,同步佇列,放進的外賣,必須有人拿, 才能放進新的外賣。為什麼這麼設計?如果外賣積壓過多,類似樓上那家飯店。本身這個是個快餐店, 使用者會很不滿意,這個飯店就是為了時間段, 併發高的場景)。

只要新做好的外賣沒有配送人員, 馬上僱傭乙個,把桌子上的外賣拿走, 下乙個外賣才能放進去。

5 配送人員解雇:所有的員工都有等待時間,當超過時間段, 直接銷毀。(當執行緒數大於核心時,多於的空閒執行緒最多存活時間,這個所有執行緒池一樣)。

白宮專用飯店,因為是機關單位,不能隨便讓人員配送,只能找乙個穩重,背景可靠的員工配送。保證安全。

1.配送部門成立(執行緒池 threadpool).

2.固定配送人員 1人(corepoolsize =1).

3.最大配送人員 1 人(maxpoolsize=1).

4 存放外賣的桌子,按照順序送, 顯示**, 再是副**,首相、、、(linkedblockingqueue 阻塞佇列)

5 配送人員解雇:一般不會解雇。除非這個人掛了,再去找乙個人。

女王專用飯店, 只為各位女王大人服務的飯店, 女王說了, 少吃多餐,兩個小時用餐一次。

1.配送部門成立(執行緒池 threadpool).

2.固定配送人員 10人(corepoolsize =10).

3.最大配送人員 1 人(maxpoolsize=integer.maxsize).

4 存放外賣的桌子(桌子上 有 鬧鐘, 幾點送, 每隔多長時間送,delayedworkqueue 為預設佇列(需要重複的任務會重置 執行時間,把自己加入到這個佇列,比如訂單1 楊冪 中午十二點配送, 在送完, 會重新生成訂單,14點配送))。

5 配送人員解雇 :超過十個人會計算等待時間

場景分析:開發中的重試任務,可以考慮用這種執行緒池

這種是jdk 8 才出現的執行緒池,就沒怎麼見到用過, 按照理解,介紹併發,比如訂單太多了, 外賣的數量遠遠大於桌子承受的數量, 總不能把1 萬份外賣全部放在乙個桌子上, 所以使用併發,減少競爭。

非常用執行緒池略。。。。。。。。。。。

後來倉庫滿了,配送人員也沒有了(最大執行緒數)

1、訂單全部拒絕(新來的任務直接拋棄)

2、把最早放到倉庫的外賣丟了,因為第乙個顧客等了很久 ,估計餓死了,然後把新的訂單放進倉庫(拒絕佇列最早的任務)

3、新訂單拒絕 並發出公告, 告訴顧客我們飯店炸了, 別來點外賣(拋棄這個任務, 丟擲異常)

4、打**給下訂單的客戶, 我們沒人手 了, 你直接來飯店拿 ,(當前呼叫執行緒處理任務)。

5、自定義策略

創造一家偉大的公司

有人問我,創業的終極目標是什麼?我的回答是 創造一家偉大的公司。ok,不是每個人都能在有生之年實現這個目標,包括我自己,不過,創業除了結果,還有過程。正如有人所說 人生就是旅行,除了達到目的地,還要注意沿途的風景。什麼樣的公司才會是偉大的公司?我的理解是 充滿動力,不懈創新,不斷把競爭對手逼入絕境 ...

培植的Perl,Flickr,一家企業的第一家

存檔日期 2019年5月15日 首次發布 2009年11月24日 flickr不僅用於 共享和社交網路 這是乙個合法的商業工具。了解perl程式設計師如何使用cpanchart模組建立圖表和圖形,以及如何使用flickr upload模組將圖表上傳到flickr。此內容不再被更新或維護。全文以pdf...

09的最後一天,愚蠢的一天

今天是2009年的最後一天,也算是辭舊迎新的日子,可惜,今天的我卻表現得相當之愚蠢.也罷,反思一下這愚蠢的一天並把它遠遠得拋開,然後去迎接嶄新的一天,嶄新的一年吧 話說,sap專案組以迅雷不及掩耳盜鈴之式在我的工作計畫中插了幾單,全是優先順序為aaaa級的,其中之一就是讓我今天變得如此愚蠢的報表.於...