Best way to make Db calls - Qt
In my app, I have to make a lot of db calls while the app is running. I am making all of those calls on the main thread. The application ui freezes frequently. I suspect the db calls that I am making for this.
Do you think making Db calls on main thread is a good approach? Shall I move them to a separate thread?
If so, can you please suggest a better way? I have been using threads in the app as well but I am creating separate classes for this which derive from @QThread @class. Is there a way in which I could execute a time-expensive operation in a separate block which will run in a separate thread something like the way it happens in java?
I want a solution in which I will not have to create a separate thread class to do a task. Please suggest.
There is no way but use a separate thread.
Also in Java you have to create a separate thread. So, I don't know what are you refer to when you say "the way it happens in java?".
Anyway, Qt offers solutions to avoid to explicit create a subclass of QThread. And the solution is the Qt Concurrent module: http://qt-project.org/doc/qt-5.1/qtconcurrent/qtconcurrent-index.html
With Concurrent module you can "submit" some function to run concurrently with the main thread with the possibility to realize also parallel algorithms (if you want).
thanks that was helpful