我做了個wait notify的練習,但我不知道網站開發什么時候會用到這個技術
我感覺只有桌面圖形執行緒和后臺執行緒互動會用wait notify
網站都通過分布式鎖或者airflow 解決 好像沒有用到的地方
blockingqueue,atomic這樣的執行緒間交換資料的集合,我也不知道網站開發什么時候會用到
本地快取的靜態資料嗎?
順便網站開發什么時候會用到執行緒池啊?
連接池倒是很大概率用到,執行緒池,感覺都是框架代勞了,自己好像沒地方會寫出執行緒池
uj5u.com熱心網友回復:
如果你的網站只是增刪改查,那可能永遠都不會用到這些東西,但不是所有的網站都是增刪改查的。例如:這樣的一個需求,一個發送短信的網站,用戶可以輸入手機號和短信內容,然后點擊發送將短信發送出去。
后端設計:
假設系統的并發量比較大,系統設計了一個短信待發緩沖池,點擊發送的時候只是將短信寫入短信緩沖池,然后有一個執行緒池中多個執行緒從待發緩沖池中獲取短信并實際發送出去。那這就可以有執行緒池了。
當發送的執行緒發現緩沖池中一條短信都沒有了,那為了節省系統資源,執行緒就可以先wait。當有新的用戶點擊了發送,緩沖池中寫入了新的短信的時候,需要呼叫一下notify,喚醒發送執行緒進行發送。
其實這也是一個典型的生產者消費者模型。
uj5u.com熱心網友回復:
你這個場景通常會使用訊息佇列。然后用分布式集群服務同時消費發送短信內容。如果分布式服務器足夠多可能就用不上執行緒池了。還是根據實際情況選擇合理的方案。uj5u.com熱心網友回復:
看你的網站有沒有用到push/pull或者PUB/SUB這些模式的地方,就就可以用wait/notify轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/14406.html
標籤:Java SE
下一篇:java問題
