in reply to Re^2: Perl Threads Question.
in thread Perl Threads Question.

I had thought every fork was a thread.... And a call to fork() started a child process and returned the PID of that process.

fork starts a process. Not a thread.

A process consists of at least one thread and can contain multiple threads.

Each process has its own address space. The threads of a single process share that same address space.

I had heard fork() leakes like a sieve even in 12.

Where did you hear that?

If it is true, and I'm not aware that it is, it will (almost certainly) be platform dependant. Which OS are you using?

However I am not proficient enough to follow your code completely.... I am assuming @threads now holds the 10 results for each child process. Correct?

No. @threads contains handles to the 10 threads (objects). The values returned by the threads--if any--are not accessible to you until you call the method join() on those threads handles (objects). The values returned from the threads are stored internally until you fetch them using the join() method.

BTW: Embedding part of your question within the <code></code> tags is not helpful. They can easily be missed. Please use code tags for code; not for (parts of) the question.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
RIP an inspiration; A true Folk's Guy

Replies are listed 'Best First'.
Re^4: Perl Threads Question.
by Monkomatic (Sexton) on Oct 18, 2010 at 14:32 UTC

    I had posted a lengthy Thank you for your response but it never posted for some reason. So im posting it again.

    Thank you much that cleared it all up for me.

    especially the stored internally untill join() part.