加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl 信号 线程数

发布时间:2020-12-15 20:58:16 所属栏目:大数据 来源:网络整理
导读:? 试了一下通过信号来控制并发线程数,测试发现还是不太稳定

?

试了一下通过信号来控制并发线程数,测试发现还是不太稳定啊。。各种segment error。。。

?

?

?

#!/usr/bin/perl -w

use threads;

use Thread::Semaphore;

use Net::Ping;

my $semaphore = Thread::Semaphore->new(10);

?

my $i=1;

?

for($i=1;$i<50;$i++)

?{

???? $semaphore->down();

???? my $thread=threads->create(&;check,$i);

???? $thread->detach();

?}

?

&waitthread();

?

sub check()

?{

??? my $num=shift;

??? my $host="10.14.12.".$num;

??? my $p=Net::Ping->new();

??? if($p->ping($host,2))

???? {

??????????? print "$host is okn";

???? }

??? else{

?????????? print "$host is not okn";

??? }

?? $p->close();

??? $semaphore->up();

? }

?

sub waitthread()

?{

??? my $tmp=0;

??? while($tmp < 10)

???? {

??????? $semaphore->down();

??????? $tmp++;

???? }

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读