use strict;
use utf8;
use Test::More;
use Encode;
use Test::Requires 'threads';
use_ok "Text::MeCab";
my $x = Text::MeCab->new;
my $node = $x->parse( encode( &Text::MeCab::ENCODING, "あぁ、酒が飲みたい飲みたい。そんな日もあるよね。あはは" ) );
my @threads;
{
note( "before thread spawning" );
foreach(my $n = $node; $n; $n = $n->next) {
note("node = " . encode_utf8( decode( &Text::MeCab::ENCODING, $n->surface) ) );
}
}
for (1..5) {
push @threads, threads->create(sub{
note( "spawned thread : " . threads->tid() );
foreach(my $n = $node; $n; $n = $n->next) {
if ( defined $n->surface ) {
note("node = " . encode_utf8( decode( &Text::MeCab::ENCODING, $n->surface) ) );
}
}
});
}
foreach my $thr (@threads) {
note( "joining thread : " . $thr->tid );
$thr->join;
}
ok(1);
done_testing();