在QT程序中多线程创建AVPacket和AVFrame结构体失败
时间: 2023-06-24 19:05:50 浏览: 118
QT中多线程
可能是因为在多线程环境下,线程之间访问同一块内存区域导致的问题。你可以尝试使用互斥锁来解决这个问题。具体做法是:
1.在程序中定义一个互斥锁,如下所示:
```
QMutex mutex;
```
2.在多线程创建AVPacket和AVFrame结构体的地方,加锁:
```
mutex.lock();
// 在此处创建AVPacket和AVFrame结构体
mutex.unlock();
```
这样就能够保证同一时间只有一个线程在访问这个内存区域,从而避免了多线程访问冲突的问题。
阅读全文