perl使用Mojolicious设置threads查看设置参数-创新互联

很无聊。。。随便写D代码 不得不说perl的多线程简单易懂

创新互联服务紧随时代发展步伐,进行技术革新和技术进步,经过十余年的发展和积累,已经汇集了一批资深网站策划师、设计师、专业的网站实施团队以及高素质售后服务人员,并且完全形成了一套成熟的业务流程,能够完全依照客户要求对网站进行成都网站设计、网站建设、外贸网站建设、建设、维护、更新和改版,实现客户网站对外宣传展示的首要目的,并为客户企业品牌互联网化提供全面的解决方案。

加个ajax就好了

use Mojolicious::Lite;
use threads;
use threads::shared;
#请直接使用 ./x.pl daemon 启动
#morbo启动,线程不会自动关闭。要手动关闭改代码才行,不然创建的线程仍会执行
#当然你的线程不是个死循环,使用morbo也是不错的。线程执行完就会自动退出
#当然你可以使用其他方式避免线程句柄被重置。

#线程共享变量,
my $signal:shared=-1;
my $i:shared=0;
#线程句柄
my $thr;

#接受POST GET都是它。
any '/status' => sub {
  my $c = shift;
#只要模块里有要使用的,即使是空值都要传过去,不然在模块里会报错。
#Global symbol "$xxx" requires explicit package name
  $c->stash(status => $signal);
  $c->stash(i => $i);
  $c->stash(thr => $thr);
#数据限制。状态设置,判断参数使用字符串判断是否为空
  if ($c->param('signal') ne '' && $c->param('signal') >=-1 && $c->param('signal')<=1) {
  $signal=$c->param('signal');
  $c->stash(status => $signal);
  undef $thr if $signal == -1 ;
  $c->stash(thr => $thr);
  }
#根据传进来的参数创建线程
  if ($c->param('action')) {
    my $action=$c->param('action');
    if ($action eq 'create') {
      $thr = threads->new(\&ppp,1) unless $thr ;
      $c->stash(thr => $thr);
    }
  }
  $c->render('status');
};

#线程函数
sub ppp {
#接受第一个参数
    $signal=shift;
#0的时候跟false一样
    while($signal or $signal==0){
#睡一秒钟
        sleep 1;
        last if $signal == -1;
#再睡一秒钟
        sleep 1 if $signal == 0;
#print要换行符才会有输出,不然要等到mojo结束了才有输出。
        print "running.\t.".$i++."\n" if ($signal == 1 ) 

    }
}
app->start;

__DATA__
@@ status.html.ep
% unless ($thr) {
no threads creat or threads down bbbba<br>
%} else {
<meta http-equiv="refresh" content="5">
%}
The status Can be exit=-1  stop=0 start=1 <br>
The status now is  <%= $status %> .i=<%= $i %> .thr=<%= $thr if defined $thr %> 
%= form_for '/status' => (method => 'POST') => begin
  %= text_field 'signal'
  %= submit_button '设置状态'
% end
%= form_for '/status' => (method => 'POST') => begin
  %= hidden_field action => 'create'
  %= submit_button '创建线程'
% end

perl使用Mojolicious设置threads查看设置参数

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

新闻标题:perl使用Mojolicious设置threads查看设置参数-创新互联
文章起源:https://www.cdcxhl.com/article42/ippec.html

成都网站建设公司_创新互联,为您提供网页设计公司用户体验品牌网站建设网站内链网站制作企业建站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站制作