in reply to Re: Re: Create a separate process with a sub...
in thread Create a separate process with a sub...

Neat! It would be nice if it added an is_finished() (or better named?) method to the threads package, but having an effective method of doing it is great.

One comment on the name. I would probably never have considered using this without being recommended to it as I would have assumed (from the name) that it was designed for use with the old Thread package.

I realise that using a "threads::" prefix is taboo as all lowercase names are reserved for pragmas, but maybe a "Threads" top level namespace is called for to distinguish between pThreads and iThreads stuff?

Probably too late for that now. I'll just have to learn to look inside rather than making assumptions:)

Now if only there was a portable way of making the Suspend/Resume/SetPriority/ thread (Win32 native) APIs available via threads objects. Most of this has analogous beaviour on other OS's, (priority ~= nice etc.), but it's probably a stretch to try and unify the api?


Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
If I understand your problem, I can solve it! Of course, the same can be said for you.

Replies are listed 'Best First'.
Re: Re: Re: Re: Create a separate process with a sub...
by liz (Monsignor) on Aug 15, 2003 at 12:43 UTC
    ...an is_finished() (or better named?)...

    I was thinking of calling it "exited", in a new package Thread::Exited.

    ...I realise that using a "threads::" prefix is taboo as all lowercase names are reserved for pragmas, but maybe a "Threads" top level namespace is called for to distinguish between pThreads and iThreads stuff?

    There were a lot of discussions about that about 14 months ago on p5p (shortly before the release of 5.8.0). "Threads::xxx" was also taboo because of upper/lowecase insensitive file systems. It was decided to use "Thread" as the top level namespace for this type of stuff. And yes, there is some overlap: Thread::Signal being one of them.

    To my knowledge, only Thread::Iterator and Thread::RWLock are for the old 5.005 threads implementation. All other Thread:: modules are for the new ithreads implementation. How do I know? I wrote most of them ;-)

    ... stretch to try and unify the api..

    If there would be people to help on the non-Linux and Windows front (as I don't have access and/or don't have any knowledge), I would be willing to have a go at Thread::Priority.

    Liz

      Count me in on the Win32 side.


      Examine what is said, not who speaks.
      "Efficiency is intelligent laziness." -David Dunham
      "When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
      If I understand your problem, I can solve it! Of course, the same can be said for you.