LabVIEW程序設計模式(五)—生產者/消費者模式(4)
圖 41 生產速率高于消費速率
當將操作方式變?yōu)?ldquo;不生產,只消費”時,生產者循環(huán)將停止生產,而消費者循環(huán)將組件消耗掉緩沖區(qū)中的數據直至數據全部消耗完(此時接收到的波形與發(fā)送的波形點一致),如圖 42所示。
圖 42 不生產,只消費
再將操作方式變?yōu)?ldquo;只生產,不消費”,消費者循環(huán)將停止消費,而生產者循環(huán)將產生數據直至數據緩沖區(qū)填滿,如圖 43所示。
圖 43 只生產,不消費
從運行過程來看,借助于timeout的設置,消費者接收的數據始終與生產者發(fā)送的數據是一致的,避免點數據點溢出的問題。當然,在實際使用中需要避免由于timeout設置為-1而導致的無限等待和死循環(huán)。
評論