一个perl线程使用方法的简单演示
2011-03-10 18:58
671 查看
#!/usr/bin/perl -w # 装载perl线程模块 use threads; use POSIX qw(strftime); sub produce { my $thread_name = shift; while(1) { my $r = int(rand(100)); # 获得本线程内当前时间 my $now_time = strftime "%Y-%m-%d %H:%M:%S", localtime; # 获得本线程的ID $n = threads->tid(); my $r2 = int(rand(3)); printf("$thread_name \$random: %-2s | \$random2: $r2 | thread_id: $n | $now_time |\n",$r); sleep($r2); } } # 创建N个线程,每个线程调用 &produce 子例程,并传送一个参数. my $jason1 = threads->create(\&produce, "jason1"); my $jason2 = threads->create(\&produce, "jason2"); my $jason3 = threads->create(\&produce, "jason3"); my $jason4 = threads->create(\&produce, "jason4"); my $jason5 = threads->create(\&produce, "jason5"); # 线程结束,收割. $jason1->join(); $jason2->join(); $jason3->join(); $jason4->join(); $jason5->join();
use threads;模块的详细使用方法还要好好研究.
http://search.cpan.org/~jdhedden/threads-1.82/lib/threads.pm
注:
之前看了段时间的Thread模块.后来才发现.这个模块已经被放弃了.因为有很多问题.
打算用perl写多线程,还是好好研究threads.
本文出自 “jasonyong” 博客,请务必保留此出处http://jasonyong.blog.51cto.com/47753/511973
相关文章推荐
- 使用JMX查看一个简单的main方法运行有多少个线程参与
- InputStreamReader 和 OutputStreamWriter类使用方法简单介绍,及演示。
- python使用线程封装的一个简单定时器类实例
- 一个简单的C#多线程间同步(事件方法)的例子
- 使用boost线程的一个简单的例子
- jsp生成html(方法简单,只用使用一个serlvet)
- 【Java面试题】23 java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
- web.config文件自定义配置节的使用方法的一个简单例子
- 一个简单Ajax类库及使用方法实例分析
- 使用express搭建一个简单的查询服务器的方法
- moveToThread的最简单用法(依葫芦画瓢即可)(使得线程也更偏向于信号槽的使用方法)
- java 使用线程做一个简单的ATM存取款实例.(转)
- Mockito的简单使用方法演示样例
- java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
- .net学习之多线程、线程死锁、线程通信 生产者消费者模式、委托的简单使用、GDI(图形设计接口)常用的方法
- 使用Vue完成一个简单的todolist的方法
- moveToThread的最简单用法(依葫芦画瓢即可)(使得线程也更偏向于信号槽的使用方法)
- moveToThread的最简单用法(依葫芦画瓢即可)(使得线程也更偏向于信号槽的使用方法)
- java基础问题---java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用
- Task是.net 4.0中的一个新特性,提供的功能非常强大,下面是其具体的使用方法演示: