Android 多线程加锁

本文介绍了如何在Android中使用ReentrantLock进行多线程同步,确保在读取数据时不会出现不完整的情况。通过在读取和更新数据时加锁,保证了数据的完整性。在onProcessYuvData方法中,获取锁后设置帧数据,然后释放锁。而在startThreads线程中,获取锁来读取并更新帧数据,只有在数据完整时才进行OpenGL渲染。
摘要由CSDN通过智能技术生成

两个线程同一把锁,防止读取得数据不完整  取得时候加锁 确保数据取完,读的时候使用通一把锁确保数据读完



private Lock lock = new ReentrantLock();

// 软解  本地回调方法 
// @{link startThreads()}
public void onProcessYuvData(final byte[] data, final int width,
final int height) {
lock.lock();
mFrame.height = height;
mFrame.width = width;
mFrame.pix = data;
lock.unlock();


}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值