日韩在线免费播放-日韩在线免费av-日韩在线免费-日韩在线毛片-国产高清不卡视频-国产高清不卡

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 安卓開發(fā)中使用緩沖機制

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

1.1 功能介紹

為了適配網(wǎng)絡(luò)傳輸線程和數(shù)據(jù)處理線程的速度,并且保證所有數(shù)據(jù)不丟失,使用了緩沖技術(shù)。其實質(zhì)就是建立一個大小合適的哈希表用于存儲數(shù)據(jù)來模擬隊列先進先出的效果。同時,為了協(xié)調(diào)讀和寫線程,使用了同步的技術(shù)。

1.2 函數(shù)介紹

1)向緩沖中增加數(shù)據(jù)

public synchronized Boolean addBuffer(byte[] data) {

if (data != null) {

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

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

return true;

} else {

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

return false;

}

} else {

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

return false;

}

}

紅色標(biāo)記的synchronized表示同步,即:對于同一段緩沖區(qū),讀和寫操作同一時間只能進行一種,這樣可以保證寫一半的數(shù)據(jù)被讀取的情況不會出現(xiàn)。

2)從緩沖中讀取數(shù)據(jù)

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;

}

確保只有當(dāng)緩沖的大小大于0的時候才會讀取數(shù)據(jù)。

3)向命令緩沖中增加數(shù)據(jù)

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 !!!! %%%%%");

return false;

}

}

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

{

4)獲得緩存的容量

public synchronized int getVolume() {

return buffer.size();

}

用于獲得緩存的大小,緩存的大小是一個必須要實時監(jiān)控的數(shù)據(jù),溢出有可能造成程序的異常退出。

pthread_exit(0);

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

下一篇:關(guān)于linux下的xinetd服務(wù)

熱點文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗分享
熱點新聞推薦
前臺專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權(quán)所有 ,京ICP備16055225號-5京公海網(wǎng)安備11010802025203號

回到頂部

主站蜘蛛池模板: 刑事侦缉档案2剧情介绍| 出彩中国人撒贝宁精忠报国15分钟| 任港秀| 超薄轻舞玉女女裤广场舞| 眼光娘娘治眼病口诀| 男按摩师给女性做私密按摩| 初号机壁纸| 《假期》电影| 绝战电视剧免费观看40集完整版| river flows in you吉他谱| 奶露拖| 春心荡漾第一季电视剧免费完整播放| 黎明之前是哪一年的电视剧| 男生变女生tg动画变身| 电影《uhaw》免费观看| 《黑人情欲》在线播放| 一路狂奔| 宫心计1电视剧全集免费高清国语| 情侣签名一男一女简短| 古天乐电影全部作品最新| 永远的乳房 电影| 山东教育电视台直播在线观看| 必修二英语电子课本外研版| 在线电影免费| 我的幸福婚约电影| 膨腹爱好者撑肚子视频| 草逼操| 繁华在线观看| 碟仙诡谭| 色在线视频网站| 繁华在线观看| 航班危机电影| 未删减视频| 赤牙×柒cp| 木乃伊5| 无常电影| 未删减版电视剧在线观看| 山上的小屋 残雪原文| 永远少年电影免费播放 | 四川旅游攻略| 追捕演员表|