久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 安卓開發中使用(yong)緩沖機(ji)制

安(an)卓開發中使用緩沖機制 時間:2018-09-20      來源:未知

1.1 功能介紹

為(wei)了適配網絡傳輸線程和(he)數據(ju)(ju)處理線程的(de)速度,并且保證所(suo)有數據(ju)(ju)不丟(diu)失,使用(yong)(yong)了緩沖技(ji)術(shu)。其實(shi)質(zhi)就是建立一個大小合(he)適的(de)哈希表用(yong)(yong)于存儲(chu)數據(ju)(ju)來模(mo)擬隊(dui)列(lie)先進先出的(de)效(xiao)果。同(tong)時,為(wei)了協(xie)調讀和(he)寫線程,使用(yong)(yong)了同(tong)步的(de)技(ji)術(shu)。

1.2 函數介紹

1)向緩沖(chong)中增加數據

public synchronized Boolean addBuffer(byte[] data) {

if (data != null) {

if (buffer.size() < volume) {// 確保緩存(cun)不會溢出

buffer.put(buffer.size(), data);

return true;

} else {

log.E("%%%%% buffer.size() &gt; volume !!!! %%%%%");

return false;

}

} else {

log.E("%%%%% addBuffer() param is null !!!! %%%%%&quot;);

return false;

}

}

紅(hong)色標記的synchronized表示同步,即:對于同一段緩沖區,讀(du)和寫操作同一時(shi)間只能進(jin)行一種,這樣可以保(bao)證寫一半(ban)的數據被讀(du)取的情況不(bu)會出現。

2)從緩沖中(zhong)讀取數據

public synchronized byte[] getBuffer() {

byte[] data = null;

if (buffer.size() > 0) {

data = buffer.get(buffer.size() - 1);

buffer.remove(buffer.size() - 1);

} else {

log.E("%%%%% readBuffer.size() < 0 !!!! %%%%%");

}

return data;

}

確保只有當緩沖的(de)大小大于(yu)0的(de)時候才會讀取數據。

3)向命令緩沖中增加(jia)數據

public synchronized Boolean addCmdBuffer(int cmd, int type, int id) {

byte[] cmdd = { (byte) cmd, (byte) type, (byte) id };

if (buffer.size() < volume) {

buffer.put(buffer.size(), cmdd);

return true;

} else {

log.E("%%%%% buffer.size() > volume !!!! %%%%%&quot;);

return false;

}

}

增加的命令(ling)會被傳遞到主線程,用于實時的處理特殊命令(ling),如:按(an)鈕按(an)下的效(xiao)果(guo)。

{

4)獲得緩存的容(rong)量

public synchronized int getVolume() {

return buffer.size();

}

用于(yu)獲得緩(huan)存(cun)的大小,緩(huan)存(cun)的大小是一個必須(xu)要(yao)實時監控的數(shu)據,溢(yi)出有可(ke)能造成程序的異常退出。

pthread_exit(0);

上一篇:對Llinux下signal機制的一點認識

下一篇:關于linux下的xinetd服務

熱點文章推(tui)薦
華清(qing)學(xue)員就業榜單(dan)
高薪學(xue)員經驗分(fen)享
熱點新聞推薦
前臺專線:010-82525158 企業(ye)培(pei)訓洽談專(zhuan)線(xian):010-82525379 院校合作(zuo)洽談專線(xian):010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部