Re: Reentrancy, Recursion, Threading, etc
From: Warren Simmons (wsimmons5_at_optonline.net)
Date: 06/07/04
- Previous message: Richard: "Re: Programming Code Advise"
- In reply to: Chuck Stevens: "Re: Reentrancy, Recursion, Threading, etc"
- Next in thread: Chuck Stevens: "Re: Reentrancy, Recursion, Threading, etc"
- Reply: Chuck Stevens: "Re: Reentrancy, Recursion, Threading, etc"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 07 Jun 2004 18:50:20 GMT
Chuck Stevens wrote:
> "Robert Wagner" <robert.deletethis@wagner.net> wrote in message
> news:40c25bda.127204998@news.optonline.net...
>
>
>>That's insufficient for multithreaded programs, which additionally require
>
> (at
>
>>minumum):
>>..language to start threads (exit program may be adequate to stop them)
>
>
> PROCESS and CONTINUE in MCP COBOL ('68, '74 and '85), maybe?
>
>
>>..locks to prevent concurrent writes to shared memory (Working-Storage)
>
>
> USAGE LOCK, and the LOCK and UNLOCK statements, perhaps?
>
>
>>..language to sleep until an event occurs
>
>
> USAGE EVENT, WAIT UNTIL event-name, and RESET event-name, maybe?
>
>
>>and language to signal an event
>
>
>>CAUSE event-name, maybe?
>
>
>>That's why it should be in the Standard -- because do-it-yourself
>
> extensions may
>
>>be flawed.
>
>
> I guess my position is that the *tools to allow* asynchronous processing
> should be in the standard. What should not be in the standard are extensive
> specifications that limits the functionality for the sole purpose of keeping
> the programmer from shooting himself in the foot.
>
>
>>"Asynchronous" is appropriate, although multithreading is the more common
>
> word.
>
> May be, but the problem is that WG4 has blessed the idea of looking at
> "asynchronous processing", but not the idea of "multithreading", and they
> don't mean the same thing to all people.
>
>
>>Multi-tasking was a 'first generation' attempt to do asynchronous
>
> computing with
>
>>then existing OS facilities. When they were found lacking, multithreading
>
> was
>
>>invented as a 'second generation' technology to provide better
>
> synchronization
>
>>services. As some CS type (Michael: are you listening?) will point out,
>
> better
>
>>mechanisms are already available, and will continue to emerge.
>
>
> We've been doing multi-tasking, multi-threading, multi-programming and
> multi-processing using both reentrancy and recursion on Unisys MCP-based
> systems with equanimity for around four decades now. Examples of tools that
> allow the *user* to do these things already exist.
>
> My opinion is that if the user can declare a "lock item", and the user
> transfers control to an asynchronous process that has visibility to that
> item, checks that lock and finds it still locked, the bug's in the calling
> program for failing to unlock the lock when it was done with the item it
> controlled, not with the standard or the compiler. I believe such would
> be the case for a number of the rules for asynchronous processing; it is up
> to the user to ensure that his data *is* protected; all that is required of
> the standard is that it provide standard mechanisms whereby the data *can
> be* protected.
>
> The less the standard requires be done "automatically" the better, I
> believe.
>
> > The challenge for a Language such as Cobol is to abstract asynchronicity
> so it
>
>>isn't tied to a particular OS implementation.
>
>
> I personally don't think it's that much of an imposition to declare three
> new data types as Unisys MCP has them (LOCK, EVENT, TASK) and the syntax to
> support access to them as described above. The problem is that some would
> regard "already exists in some OS implementation" (in this case, the Unisys
> MCP architecture) as sufficient reason to reject the syntax *and* the
> functionality on the basis that it is, prima facie, "tied to [that]
> particular OS implementation" because the Unisys MCP operating environment
> has been providing OS support for LOCKs, EVENTs and TASKs for quite a long
> time, and other environments haven't.
>
> -Chuck Stevens
>
>
Except, Chuck, when the USER had already extended or created software to
accommodate the problems. I remember our use of IMS, TOTAL, and IDS
before I retired in the mid 80's. Of course we were users of Burroughs,
Univac, RCA, and IBM hardware. If I had a history of Apars or Joint
Extension developments, I feel strongly that your position would be
BACKED UP.
Warren
- Previous message: Richard: "Re: Programming Code Advise"
- In reply to: Chuck Stevens: "Re: Reentrancy, Recursion, Threading, etc"
- Next in thread: Chuck Stevens: "Re: Reentrancy, Recursion, Threading, etc"
- Reply: Chuck Stevens: "Re: Reentrancy, Recursion, Threading, etc"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|