[Interest] how to run 21 threads concurrently
alexmalvtk at gmail.com
Fri Oct 5 00:34:54 CEST 2012
Why do you need Threads[th].cancel();?
According to documentation not only "the QFuture returned by
QtConcurrent::run() does not support canceling,...", but I do not see
any reason you could want to do this.
On Thu, Oct 4, 2012 at 6:25 AM, André Somers <andre at familiesomers.nl> wrote:
> Op 4-10-2012 15:21, Sujan Dasmahapatra schreef:
>> I am not able to run my threads concurrently please help.
>> How can I run 21 threads concurrently and get the job done by 8 cpus
>> what I have in my machine.
>> I am doing like this
>> std::vector<QFuture<void> > Threads;
>> QFuture<void> Th;
>> for(int z=0; z<21; z++)
>> Th = QtConcurrent::run(this,&UnrstParser,z);
>> for(int th=0; th<Threads.size(); th++)
>> With this first few threads are probably running but not all the
>> threads. As it's supposed to generate some files by each thread which
>> is not being generated. Please help.
> QtConcurrent will use as many threads as it deems useful, based on the
> system you are running on. Unless you have a 21 core system, it is
> probably not useful to run 21 threads your your task.
> However, QThreadPool has methods to change how many threads are
> considdered useful, so you should look into using that class.
> Interest mailing list
> Interest at qt-project.org
More information about the Interest