#!/usr/bin/perl use strict; use warnings; use threads; use Thread::Queue; my $queue = Thread::Queue -> new; threads -> create ("popper", $queue) -> detach for (1..10); my $message="this is a line of test around the right size"; while (1) { $queue -> enqueue ($message) for (1..100); sleep 1 while $queue -> pending; system qq[tasklist /nh /fi "PID eq $$"]; } sub popper { print "started a popper\n"; my $queue = shift; while ($queue -> dequeue) { print "."; } } __END__ C:\test>junk5 started a popper started a popper started a popper started a popper started a popper started a popper started a popper started a popper started a popper started a popper perl.exe 3128 0 6,936 K perl.exe 3128 0 6,944 K perl.exe 3128 0 6,948 K perl.exe 3128 0 6,948 K perl.exe 3128 0 6,948 K perl.exe 3128 0 6,948 K perl.exe 3128 0 6,948 K perl.exe 3128 0 6,948 K perl.exe 3128 0 6,948 K perl.exe 3128 0 6,948 K perl.exe 3128 0 6,948 K perl.exe 3128 0 6,948 K perl.exe 3128 0 6,948 K perl.exe 3128 0 6,948 K