Hi Tomaz, On Mon, Jul 20, 2015 at 4:14 PM, Tomaž Vajngerl <qui...@gmail.com> wrote: > Hi, > > On Mon, Jul 20, 2015 at 7:02 PM, Pranav Kant <pranav...@gmail.com> wrote: >>> I am making use of thread pool, but this pool consists of only single >>> thread. All the LOK calls will be queued and can reuse this thread, >>> hence saving me the time that it would take to create a new thread >>> (expensive process) for each LOK call. >>> >>> This was the reason behind making use of thread pool. I had no >>> intention of using more than one thread for LOK calls. > > You can create only one thread on start and put the processing of > async queue in a loop there: > > while (message = async_queue.pop()) > { > ...process message... > } > > from other thread just push the messages that you want to process in > the other thread into the queue (btw. this is what is done in Android > implementation). > > The queue will block if you "pop" and there are no messages in th > queue - which means the thread will sleep until a new message arrives. > > Look at: https://developer.gnome.org/glib/stable/glib-Asynchronous-Queues.html
Yeah, we can use this too. > > As you can see the thread pool uses it also - but using thread pool > with only one thread is kind of a hack to me, but it works too.. > Yeah, it works. I saw it in some of the gnome modules also, for example, gnome-photos. I don't know, but it looks easier to me, to implement and to read. I will research more over this, and see what we can do. -- Regards, Pranav Kant http://pranavk.me _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice