Android 多线程加锁
来源:互联网 发布:win php7 mysql 编辑:程序博客网 时间:2024/06/10 06:06
两个线程同一把锁,防止读取得数据不完整 取得时候加锁 确保数据取完,读的时候使用通一把锁确保数据读完
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();
}
/**
* OpenGL渲染画面
*
*/
private void startThreads() {
Thread thread = new Thread() {
public void run() {
glRenderer.update(mFrame.width, mFrame.height);
FrameBean frameBean = new FrameBean();
while (isplay) {
lock.lock();
frameBean.width = mFrame.width;
frameBean.height = mFrame.height;
frameBean.pix = mFrame.pix;
lock.unlock();
if (frameBean.width != 0 || frameBean.height != 0) {
if (frameBean.pix != null && frameBean.width != 0
&& frameBean.height != 0) {
glRenderer.update(frameBean.pix, frameBean.width,
frameBean.height);
}
}
}
}
};
// LoadingDialog.showLoadingDlg(SDLActivity.this, false, "");
thread.start();
}
- Android 多线程加锁
- 多线程加锁
- 多线程加锁
- 多线程加锁
- Java 多线程加锁
- 多线程读写文件 加锁
- object-c 多线程 加锁
- java 多线程 加锁
- object-c 多线程 加锁
- IOS 多线程加锁
- iOS多线程加锁
- 多线程加锁原因
- iOS多线程加锁
- LINUX 多线程加锁
- java多线程加锁
- 多线程 变量 加锁问题
- C++多线程共享资源加锁
- 多线程并发思考--文件加锁
- 学习文本分类(一)
- php 使用多进程忠告
- Java startsWith()
- 使用AutoCompleteExtender(自动完成下拉菜单)实例
- 二叉树的所有路径
- Android 多线程加锁
- oracle 序列的创建与使用
- 设计模式——单例模式
- Android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
- WPF DataBinding
- pboc规范详细解释
- JS作用域
- [牛客]空格替换练习题
- c# DEV 关于gridcontrol 控件,gridview 列为RepositoryItemtextedit获取值的方法