Beefy Boxes and Bandwidth Generously Provided by pair Networks Joe
Perl: the Markov chain saw
 
PerlMonks  

Re^5: convert a single thread application to multithread with GUI

by zentara (Archbishop)
on Jul 11, 2007 at 16:14 UTC ( #626034=note: print w/ replies, xml ) Need Help??


in reply to Re^4: convert a single thread application to multithread with GUI
in thread convert a single thread application to multithread with GUI

One thing I forgot to mention is that threads can share a filehandle thru the fileno, so that can help in logging. Your main thread can open the FH to the log, then you send the fileno of the FH to the threads, and they can print to it. See FileHandles and threads


I'm not really a human, but I play one on earth. Cogito ergo sum a bum


Comment on Re^5: convert a single thread application to multithread with GUI
Re^6: convert a single thread application to multithread with GUI
by ultibuzz (Monk) on Jul 12, 2007 at 11:34 UTC

    cheers,
    yeah shared FH i know.
    but i encounter another problem, the TK- Scrolled object wich is used to display eat up all memory ;).
    is there a way to limit the box to 1000 lines and then it shoud overwrite ?, so it will not write the memory full :D.

    kd ultibuzz

      Here is the basic idea, for a sliding buffer of 'x' lines:
      #!/usr/bin/perl use Tk; use Tk::Text; my $mw=tkinit; my $text = $mw->Scrolled('Text')->pack; $text->bind('<Return>',[sub { &check_limit }]); $mw->Button(-text=>'Press Me', -command=>sub { $text->insert('end',$i++."\n"); $text->see('end'); &check_limit; })->pack; $mw->Button(-text=>'Exit', -command=>sub {exit})->pack; for (1..198){ $text->insert('end',$_."\n"); $text->see('end'); } MainLoop; sub check_limit{ $text->delete('1.0', "end -200 lines"); }

      I'm not really a human, but I play one on earth. Cogito ergo sum a bum

        nice, but where to find suchs tuff like delete and co ?
        i checked the Tk docs and they are really basic.
        is there somewhere a good site for more detailed Tk docs and maybe some examples ?

        kd ultibuzz

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (13)
As of 2014-04-17 13:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (447 votes), past polls