- 论坛徽章:
- 1
|
- D:\MoChou>echo %PATHEXT%
- .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.PL
- D:\MoChou>gvim ttt.pl
- D:\MoChou>cat ttt.pl
- use strict;
- use warnings;
- use POE;
- POE::Session->create(
- inline_states => {
- _start => \&start,
- counter => \&counter,
- _stop => \&stop,
- }
- );
- sub start {
- my ($kernel, $heap, $session) = @_[ KERNEL, HEAP, SESSION ];
- print "session ", $session->ID, " start...\n";
- $heap->{count} = 0;
- $heap->{max} = 10;
- $kernel->yield( 'counter' );
- }
- sub counter {
- my ($kernel, $heap) = @_[ KERNEL, HEAP ];
- print $heap->{count}++, "\n";
- if ( $heap->{count} < $heap->{max} ){
- $kernel->yield( 'counter' );
- }
- }
- sub stop {
- my $session = $_[ SESSION ];
- print "session ", $session->ID, " stop.\n";
- }
- print "开始运行\n";
- POE::Kernel->run;
- D:\MoChou>ttt
- session 2 start...
- 开始运行
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- session 2 stop.
- D:\MoChou>
复制代码 |
|