隊列:
先進先出
棧:
先進后出
1.使用Queue實現生產者與消費者解耦
可以使用隊列來實現線程間的同步
生產者與消費者模式
在線程的時間里,生產者就是生產數據的線程,消費者就是消費數據的線程。在多線程開發當中,如果生產者處理速度很快,而消費者處理速度很慢,那么生產者就必須等待消費者處理完,才能繼續生產數據,同樣的道理,如果消費者的處理能力大于生產者,那么消費者就必須等待生產者。
生產者消費者模式是通過一個容器來解決生產者和消費者的強耦合問題。生產者和消費者彼此之間不直接通訊,而通過阻塞隊列來進行通訊,所以生產者生產完數據之后不用等待消費者處理,直接扔給阻塞隊列,消費者不找生產者要數據,而是直接從阻塞隊列里取,阻塞隊列就相當于一個緩沖區,平衡了生產者和消費者的處理能力。
2.異步
·同步調用就是你喊你朋友吃飯,你朋友在忙,你就一直在那等,等你朋友忙完了,你們一起去
·異步調用就是你喊你朋友吃飯,你朋友說知道了,待會忙完去找你,你就去做別的了。