Re: Best and esiest to implemet pthread , GLib::Thread , GLib::Dispatcher
- From: Michael Moorman <memjjay yahoo com>
- To: "Kaiser ." <yahyai-0 hotmail com>, "gtkmm-list gnome org" <gtkmm-list gnome org>
- Subject: Re: Best and esiest to implemet pthread , GLib::Thread , GLib::Dispatcher
- Date: Sat, 31 Dec 2011 23:46:43 -0800 (PST)
Hi Kaiser,
This one way I would approach this problem.
1. Launch a GLib::Thread to download the files. The API is quite nice and easy to use.
2.
Register a timeout function on the main gtk loop that periodically
checks (maybe once every half second) on the status of the thread you
launched in 1 ( see http://developer.gnome.org/gtkmm-tutorial/3.2/sec-timeouts.html.en
). This can safely update anything on the GUI since it's invoked from
the main loop. Update any GUI related things (progress bar,
error/success indications, etc) using this function.
Consider using a Glib::Mutex to facilitate safe communication between the two threads, i.e.
synchronizing access to any shared buffer.
Good luck!
From: Kaiser . <yahyai-0 hotmail com>
To: gtkmm-list gnome org
Sent: Sunday, January 1, 2012 1:59 AM
Subject: Best and esiest to implemet pthread , GLib::Thread , GLib::Dispatcher
Hello
I have made small gtkmm program that download some files from Internet by using libcurl..
But when the program start downloading the files it Freez until it finish (cuz of single thread??)..
I knew that I must implement multi-threading to solve the problem ...
I have 3 classes in the program : WINDOW , APP , CURL
// here are some brief of the program
CURL contains CURLREAD function to download the files and some helper functions
APP contains other utils of program and contains getPKG() which get the URLS and download the files throught the object curl.curlread(url ,,,)
Window has progressBAR
CURL is object on APP ,,,, and APP is object on WINDOW
which one I should implement pthread , GLib::Thread or GLib::Dispatcher ?!
_______________________________________________
gtkmm-list mailing list
gtkmm-list gnome orghttp://mail.gnome.org/mailman/listinfo/gtkmm-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]