簡介 基於生產者消費者模式,我們可以開發出線程安全的非同步消息隊列。 知識儲備 什麼是生產者消費者模式? 為了方便理解,我們暫時將它理解為垃圾的產生到結束的過程。 簡單來說,多住戶產生垃圾(生產者)將垃圾投遞到全小區唯一一個垃圾桶(單隊列),環衛將垃圾桶中的垃圾進行處理(消費者)。就是一個生產者消費者 ...
簡介
基於生產者消費者模式,我們可以開發出線程安全的非同步消息隊列。
知識儲備
什麼是生產者消費者模式?
為了方便理解,我們暫時將它理解為垃圾的產生到結束的過程。
簡單來說,多住戶產生垃圾(生產者)將垃圾投遞到全小區唯一一個垃圾桶(單隊列),環衛將垃圾桶中的垃圾進行處理(消費者)。就是一個生產者消費者模式。
這種模式的好處,就不在這裡敘述了,畢竟這篇文章不是在講設計模式。有興趣的小伙伴可以自行瞭解一下。
應用場景
很多時候,我們有一些不緊急但卻對操作順序有強依賴的需求。
比如,12306候補搶票。(並不代表真的是這種模式,為了舉例方便理解)
當用戶提交候補請求時即生產出一條消息,入隊一個消息隊列中,只要有人退票,就在隊列中出隊一個用戶的消息。由於隊列的性質是先進先出的,利用這種性質我們就可以實現公平的候補機制。
今天先寫到這裡。