五个这样的线程,跑了一会经常崩溃,哪里有问题啊??
- #include "thread.h"
- File_Thread::File_Thread(QString filePath,QUrl fileUrl,qint64 start,qint64 end,QObject *parent) :
-         _httpObj(0),
-          _file(0)
- {
-     this->_filePath = filePath;
-     this->_fileUrl = fileUrl;
-     this->_start = start;
-     this->_end = end;
-     this->_complete = false;
- }
- void File_Thread::run() {
-     this->_httpObj = new QNetworkAccessManager;
-     QNetworkRequest request;
-     request.setUrl(this->_fileUrl);
-     request.setRawHeader(QByteArray("Range"),QByteArray("bytes=0-100000"));
-     request.setRawHeader(QByteArray("Cache-Control"), QByteArray("no-cache"));
-     request.setRawHeader(QByteArray("Connection"), QByteArray("close"));
-     this->_replyObj = this->_httpObj->get(request);
-     this->_replyObj->setReadBufferSize(0);
-     connect(this->_replyObj,SIGNAL(readyRead()),this,SLOT(slotReadyRead()));
-     connect(this->_replyObj,SIGNAL(error(QNetworkReply::NetworkError)),this,SLOT(slotError(QNetworkReply::NetworkError)));
-     connect(this->_replyObj,SIGNAL(finished()),this,SLOT(quit()));
-     this->exec();
- }
- void File_Thread::slotReadyRead() {
-     QByteArray readContent = this->_replyObj->readAll();
-     qDebug() << this->_start <<" : " <<readContent.size();
- }
- File_Thread::~File_Thread() {
-     //qDebug() << this->_start << "end";
-     if(this->_file) {
-         this->_file->close();
-         delete this->_file;
-     }
-     if(this->_httpObj) {
-         delete this->_httpObj;
-     }
- }