Andrey, you are right if I'm not using the signals/slots, but calling it
directly causes it to run in current thread. It works just fine now, thanks.

Denis, I did check out QtConcurrent::run(), but since I return void from
the function and I have to call the function multiple times possibly in the
same thread so that I can append to QXmlStreamReader's data, I think it is
easier to just use QThread in this case. However thank you for your input,
I'm sure I will make use of QtConcurrent in the QFuture.  (pun intended) ;)


On 29 May 2014 12:23, Krisztian Olah <fasza2mob...@gmail.com> wrote:

>   Thanks Denis, I'll look into QtConcurrent + QFutureWatcher tonight when
> I'll have time. I will also consult pthread's documentation after comparing
> the two approaches.
>
> Thanks again
> Kris
>
>
> On 29 May 2014 11:01, Denis Zalevskiy <denis.zalevs...@jollamobile.com>
> wrote:
>
>> On Thursday 29 May 2014 13:55:40 Denis Zalevskiy wrote:
>> > To run parser in parallel just to get results in the main thread it is
>> > better to use QtConcurrent::run() + QFutureWatcher.
>> >
>>
>> Also, to set priority I guess you can use posix pthread functions, smth.
>> like
>>
>> ::pthread_setschedprio(::pthread_self(), SCHED_IDLE);
>>
>> - denis
>>
>> > - denis
>> >
>> > > > Thanks again
>> > > > Kris
>> > > >
>> > > >
>> > > > On 28 May 2014 06:16, Andrey Kozhevnikov <coderusin...@gmail.com
>> > > >
>> > > > <mailto:coderusin...@gmail.com>> wrote:
>> > > >     it can't "doesn't help much". you initializing thread wrong.
>> > > >
>> > > >     simple threading way is:
>> > > >
>> > > >     MyXmlParser *parser = new MyXmlParser(xmlDocument);
>> > > >     QThread *thread = new QThread(parser);
>> > > >     parser->moveToThread(thread);
>> > > >     QObject::connect(thread, SIGNAL(started()), parser,
>> SLOT(parse()));
>> > > >     QObject::connect(parser, SIGNAL(parseComplete(QVariantMap)),
>> this,
>> > > >     SLOT(onParseComplete(QVariantMap)));
>> > > >     thread->start();
>> > > >
>> > > >     28.05.2014 03:24, Krisztian Olah ?????:
>> > > >>           Hi list,
>> > > >>
>> > > >>       I have a rather large xml file to parse and it causes the UI
>> to
>> > > >>
>> > > >>     freeze, I assingned the parser to a different thread, but it
>> > > >>     doesn't help much. According to the Qt documentation
>> > > >>     QThread::setPriority() doesn't work on Linux, is there some
>> kind
>> > > >>     of workaround that could be used?
>> > > >>
>> > > >>     Thanks
>> > > >>     Kris
>> > > >>
>> > > >>
>> > > >>     _______________________________________________
>> > > >>     SailfishOS.org Devel mailing list
>> > > >>     To unsubscribe, please send a mail
>> > > >>     todevel-unsubscr...@lists.sailfishos.org
>> > > >>     <mailto:devel-unsubscr...@lists.sailfishos.org>>
>> > > >
>> > > >     _______________________________________________
>> > > >     SailfishOS.org Devel mailing list
>> > > >     To unsubscribe, please send a mail to
>> > > >     devel-unsubscr...@lists.sailfishos.org
>> > > >     <mailto:devel-unsubscr...@lists.sailfishos.org>
>> > > >
>> > > > _______________________________________________
>> > > > SailfishOS.org Devel mailing list
>> > > > To unsubscribe, please send a mail to
>> > > > devel-unsubscr...@lists.sailfishos.org
>> >
>> > _______________________________________________
>> > SailfishOS.org Devel mailing list
>> > To unsubscribe, please send a mail to
>> devel-unsubscr...@lists.sailfishos.org
>>
>> _______________________________________________
>> SailfishOS.org Devel mailing list
>> To unsubscribe, please send a mail to
>> devel-unsubscr...@lists.sailfishos.org
>>
>
>
_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org

Reply via email to