NAME

Thread::State - check threads' state

SYNOPSIS

use threads;
use Thread::State;

my $thr = threads->new(sub { ... });

while ( $thr->is_running ) {
  ...
}

if ($thr->is_joined) {
  ...
}

print threads->is_detached; # main thread is detached.

DESCRIPTION

This module adds some methods to threads which are used to check threads' state (is detached? joined? finished?).

Thread::Running is also for the same aim. It hacks threads::new, threads::join, and threads::detach. On the other hand, Thread::State peeks at the ithread structures directly.

METHODS

All below methods can be used as class methods. In that case, they return a current thread's state.

is_running

The thread is not finished.

is_finished

The thread is finished.

is_joined

The thread is joined.

is_detached

The thread is detached.

is_joinable

The thread is joinable (not joined, not detached).

NOTE

With Perl 5.8.0 on Windows, is_joined and is_joinable may not work correctly. This is the problem of threads itself.

SEE ALSO

Thread::Running, threads

AUTHOR

Makamaka Hannyaharamitu, <makamaka[at]donzoko.net>

COPYRIGHT AND LICENSE

Copyright 2006 by Makamaka Hannyaharamitu

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.