测试QList是否支持多线程访问
建立两个线程向QList中写数据(慢速)WriteThread
建立一个线程从QList中取数据(快速)ReadThread
取数据线程头文件readthread.h
#ifndef READTHREAD_H
#define READTHREAD_H
#include <QThread>
#include <QDebug>
class ReadThread:public QThread
{
public:
ReadThread(QList<QByteArray> *buffer);
void run();
signals:
public slots:
private:
QList<QByteArray>* publicBuffer;
QString TestByteToString(QByteArray gram);
};
#endif // READTHREAD_H
取数据线程函数实现readthread.cpp
#include "readthread.h"
ReadThread::ReadThread(QList<QByteArray> *buffer):
publicBuffer(buffer)
{
}
void ReadThread::run()
{
while (1)
{
if(publicBuffer->count() > 0)
{
qDebug() << "ReadThread::run()" << TestByteToString(
QList的多线程操作与并发安全性

本文探讨了QList在多线程环境下的使用,通过创建两个线程进行写入操作和一个线程进行读取操作,研究其并发性能和线程安全问题。重点关注QList在并发访问时的行为和潜在的同步策略。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



