+ -
当前位置:首页 → 问答吧 → 求助:主界面假死如何解决

求助:主界面假死如何解决

时间:2011-07-21

来源:互联网

#! /usr/bin/perl5 -w
    use strict;
    use Tk;
    use Encode;
    use Encode::CN;
    my $main = new MainWindow;
    $main->Label(-text => decode("gb2312", "请输入循环次数"))->pack;
    my $number = $main->Entry(-width => 10);
    $number->pack;       
        my $text_val;
        my $count = $main->Label(-text => decode("gb2312", "此处显示循环次数"))->pack;
    $main->Button(-text => decode("gb2312", "开始计数"),
                -command => sub{do_count($number, $count)}
                )->pack;
   MainLoop;

   sub do_count {
       my ($number, $count) = @_;
       my $num_val = $number->get;
           for ($text_val=0;$text_val<$num_val ;$text_val++) {
                   $count->configure(-textvariable => \$text_val);
           }
          
   }



输入的循环次数越大,假死时间越长,也就是FOR循环结束后,主界面才能恢复,该如何解决呢,开多线程?可是用TK模块的时候怎么开多线程呢?

作者: yuyuau   发布时间: 2011-07-21

难道没有办法解决这个问题么?

作者: yuyuau   发布时间: 2011-07-21



QUOTE:
难道没有办法解决这个问题么?
yuyuau 发表于 2011-07-21 11:51




    用 threads 开个线程来干活

作者: zhlong8   发布时间: 2011-07-21