Perl多进程与多线程简单示例

Perl多进程与多线程简单示例,第1张

概述多进程: #!/usr/bin/perluse strict;use warnings;print "Starting main program\n";my @childs;for ( my $count = 1; $count <= 10; $count++) { my $pid = fork(); if ($pid) { # parent #print "pid i

多进程:

#!/usr/bin/perluse strict;use warnings;print "Starting main program\n";my @childs;for ( my $count = 1; $count <= 10; $count++) {	my $pID = fork();	if ($pID) {		# parent		#print "pID is $pID,parent $$\n";		push(@childs,$pID);	} 	elsif ($pID == 0) {		# child		sub1($count);		exit 0;	} 	else{		dIE "Couldnt fork: $!\n";	}}foreach (@childs) {	my $tmp = waitpID($_,0);	print "done with pID $tmp\n";}       print "End of main program\n";sub sub1 {	my $num = shift;	print "started child process for  $num\n";	sleep $num;	print "done with child process for $num\n";	return $num;} 

多线程:

#!/usr/bin/perluse strict;use warnings;use threads;use threads::shared;print "Starting main program\n";my @threads;for ( my $count = 1; $count <= 10; $count++) {	my $t = threads->new(\&sub1,$count,"hello,word");	push(@threads,$t);}foreach (@threads) {	my $num = $_->join;	print "done with $num\n";}print "End of main program\n";sub sub1 {	my ($num,$str) = @_;	print "started thread $num,$str\n";	sleep $num;	print "done with thread $num\n";	return $num . " haha...";}
总结

以上是内存溢出为你收集整理的Perl多进程与多线程简单示例全部内容,希望文章能够帮你解决Perl多进程与多线程简单示例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1283028.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存