NAME
Thread::Channel - Fast thread queues
VERSION
version 0.003
SYNOPSIS
use
threads;
use
Thread::Channel;
my
$channel
= Thread::Channel->new;
my
$reader
= threads->create(
sub
{
while
(
my
$line
= <>) {
$channel
->enqueue(
$line
)
};
$channel
->enqueue(
undef
);
});
while
(
defined
(
my
$line
=
$channel
->dequeue)) {
$line
;
}
$reader
->
join
;
DESCRIPTION
Thread::Channel is an alternative to Thread::Queue. By using a smart serialization ladder, it can achieve high performance without compromizing on flexibility.
METHODS
new()
This constructs a new channel.
enqueue(@items)
This enqueues the message @items
to the channel. Note that this list is a single message.
dequeue()
Dequeues a message from queue. Note that this returns a list, not (necessarily) a scalar. If the channel is empty, it will wait until a message arrives.
dequeue_nb()
Dequeues a message from queue. Note that this returns a list, not (necessarily) a scalar. If the channel is empty, it will return an empty list.
SEE ALSO
Thread::Queue
Sereal
AUTHOR
Leon Timmermans <fawaka@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2009 by Leon Timmermans.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.