Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Alternatives to threads for maintaining GUI app responsiveness

by metaperl (Curate)
on Oct 01, 2011 at 01:11 UTC ( [id://928974]=note: print w/replies, xml ) Need Help??


in reply to Alternatives to threads for maintaining GUI app responsiveness

Well I got some good answers in the perl-gtk IRC channel.

11:59:09 <metaperl> i'm wondering about alternatives to threads for keeping a perl/gtk app responsive - http://perlmonks.org/index.pl?node_id=928823
12:03:31 <LotR> simple. don't do anything that takes more than a few microseconds :) and if you do, split it up in tiny pieces and stick those in an idle handler.
12:03:34 <LotR> also, see POE
12:32:49 xiong ~xiong@c-69-181-68-53.hsd1.ca.comcast.net has quit IRC: Ping timeout: 600 seconds
12:41:57 xiong ~xiong@c-69-181-68-53.hsd1.ca.comcast.net has joined #gtk-perl
12:46:31 <metaperl> i'm wondering about alternatives to threads for keeping a perl/gtk app responsive - http://perlmonks.org/index.pl?node_id=928823
12:46:43 <metaperl> oh sorry
12:46:46 <metaperl> for the repeat
12:46:52 <metaperl> My window was smushed down
12:47:20 <metaperl> lotr - what is an idle handler? is this documented somewhere?
12:49:21 <metaperl> this looks relevant - http://search.cpan.org/~rcaputo/POE-Loop-Gtk-1.305/lib/POE/Loop/Gtk.pm
13:09:56 <squentin> metaperl: Glib::Idle->add(\&my_function)  see http://gtk2-perl.sourceforge.net/doc/pod/Glib/MainLoop.html




The mantra of every experienced web application developer is the same: thou shalt separate business logic from display. Ironically, almost all template engines allow violation of this separation principle, which is the very impetus for HTML template engine development.

-- Terence Parr, "Enforcing Strict Model View Separation in Template Engines"

Replies are listed 'Best First'.
Re^2: Alternatives to threads for maintaining GUI app responsiveness
by BrowserUk (Patriarch) on Oct 01, 2011 at 02:56 UTC
    I got some good answers in the perl-gtk IRC channel.

    No you didn't. As you'll find out when you stick your DBI query in your idle handler and your GUI freezes again.

    The most important part of that response was "don't do anything that takes more than a few microseconds".


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://928974]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (4)
As of 2024-03-29 07:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found