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.
Liz
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|