Я никогда не работал с QThread в Qt или с потоками в целом, поэтому эта тема для меня более чем нова. Тем не менее, я должен использовать QThread, чтобы избежать блокировки моего основного приложения из-за некоторых сложных вычислений.
Итак, я хочу поместить свои тяжелые вычисления в поток, и если они занимают слишком много времени, я хочу уничтожить поток (что также было мне предложено).
У меня есть следующая декларация для моей темы:
class myopThread : public QThread
{
public:
void run();
};
void myopThread::run()
{
std::cout<<"here in the thread. Are you working?"<<endl;
//include all the consuming operations here
exec();
}
Я также запускаю тему в моем основном приложении:
myopThread *t=new myopThread;
t->start();
Кажется, работает. Тем не менее, теперь я хотел бы убить этот поток всякий раз, когда, скажем, вычислительное время операций в run () превышает 2 минуты.
Я не знаю, как это реализовать.
Любая помощь более чем приветствуется.
Заранее спасибо,
Madalina