引用第5楼roywillow于2012-05-24 17:05发表的 回 4楼(tthheedhz) 的帖子 :
both

Thread的run,是肯定不会完毕的,因为里面是while(true)。
QThread的run,我不确定。
不过我后来改写了程序,相信这样的话,肯定是正确代码:
但内存依然升高,不过上升的速率,慢了下来。
Thread类:
class Thread1:public QThread
{
Q_OBJECT
protected:
void run();
};
class Thread2:public QThread
{
Q_OBJECT
protected:
void run();
};
void Thread1::run()
{
while(true)
{
msleep(100);
Thread2* t=new Thread2();
t->start();
}
}
int c=0;
void Thread2::run()
{
c++;
qDebug()<<c<<endl;
}
main.cpp如下:
int main(int argc,char*argv[])
{
QApplication app(argc,argv);
Thread1 t;
t.start();
return app.exec();
}