Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re: What is the correct way to use Thread::Queue::Any ?

by Molt (Chaplain)
on Jan 07, 2004 at 16:15 UTC ( #319499=note: print w/replies, xml ) Need Help??

in reply to What is the correct way to use Thread::Queue::Any ?

Try Thread::Conveyor.. it's the module that replaced Thread::Queue::Any. I've not yet tried to actually use this module, that's tomorrow's goal (Well timed question!), but you may as well at least try the later version and it's docs.
  • Comment on Re: What is the correct way to use Thread::Queue::Any ?

Replies are listed 'Best First'.
Re: Re: What is the correct way to use Thread::Queue::Any ?
by liz (Monsignor) on Jan 07, 2004 at 17:26 UTC
    Further to this, I've just added the following to the documentation of Thread::Conveyor and uploaded it to CPAN:

    Why would you use Thread::Conveyor over Thread::Queue::Any? Well, Thread::Conveyor has the following extra features:
    It works with Perl 5.8.0
    Shared arrays leak memory very badly in Perl 5.8.0. Therefore, you cannot really use Thread::Queue in Perl 5.8.0, and consequently cannot use Thread::Queue::Any in any type of production environment.

    It provides throttling
    A thread that enqueues very many values quickly, can cause a large amount of memory to be used. With throttling, any thread that enqueues will have to wait until there is "room" on the belt again before continuing. See methods "minboxes" and "maxboxes".

    You can check for a new value without removing it from the belt
    Sometimes it can be nice to check whether there is a new value on the belt without actually removing it from the belt. See the "peek" and "peek_dontwait" methods.

    You can reset the entire belt
    Sometimes you want to be able to reset the contents of the belt. See the "clean" and "clean_dontwait" methods for that.

    You can get everything from the belt in one go
    Sometimes you want everything that's on the belt in one go. That can also ba accomplished with the "clean" and "clean_dontwait" methods.


Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://319499]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (3)
As of 2023-03-27 03:04 GMT
Find Nodes?
    Voting Booth?
    Which type of climate do you prefer to live in?

    Results (63 votes). Check out past polls.