• 3762阅读
  • 0回复

请问这个程序存在什么问题导致经常崩溃啊 [复制链接]

上一主题 下一主题
离线starzhe
 

只看楼主 倒序阅读 楼主  发表于: 2010-04-11
五个这样的线程,跑了一会经常崩溃,哪里有问题啊??
  1. #include "thread.h"
  2. File_Thread::File_Thread(QString filePath,QUrl fileUrl,qint64 start,qint64 end,QObject *parent) :
  3.         _httpObj(0),
  4.          _file(0)
  5. {
  6.     this->_filePath = filePath;
  7.     this->_fileUrl = fileUrl;
  8.     this->_start = start;
  9.     this->_end = end;
  10.     this->_complete = false;
  11. }
  12. void File_Thread::run() {
  13.     this->_httpObj = new QNetworkAccessManager;
  14.     QNetworkRequest request;
  15.     request.setUrl(this->_fileUrl);
  16.     request.setRawHeader(QByteArray("Range"),QByteArray("bytes=0-100000"));
  17.     request.setRawHeader(QByteArray("Cache-Control"), QByteArray("no-cache"));
  18.     request.setRawHeader(QByteArray("Connection"), QByteArray("close"));
  19.     this->_replyObj = this->_httpObj->get(request);
  20.     this->_replyObj->setReadBufferSize(0);
  21.     connect(this->_replyObj,SIGNAL(readyRead()),this,SLOT(slotReadyRead()));
  22.     connect(this->_replyObj,SIGNAL(error(QNetworkReply::NetworkError)),this,SLOT(slotError(QNetworkReply::NetworkError)));
  23.     connect(this->_replyObj,SIGNAL(finished()),this,SLOT(quit()));
  24.     this->exec();
  25. }
  26. void File_Thread::slotReadyRead() {
  27.     QByteArray readContent = this->_replyObj->readAll();
  28.     qDebug() << this->_start <<" : " <<readContent.size();
  29. }
  30. File_Thread::~File_Thread() {
  31.     //qDebug() << this->_start << "end";
  32.     if(this->_file) {
  33.         this->_file->close();
  34.         delete this->_file;
  35.     }
  36.     if(this->_httpObj) {
  37.         delete this->_httpObj;
  38.     }
  39. }
快速回复
限100 字节
 
上一个 下一个