Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
SMALLTALK-80: the interactive programming environment
SMALLTALK-80: the interactive programming environment
Operating systems concepts
Concurrent object-oriented programming languages
Object-oriented concepts, databases, and applications
Concurrent programming: fundamental techniques for real time and parallel software design
Concurrent programming: fundamental techniques for real time and parallel software design
Concurrency & object-oriented programming
ACM SIGPLAN Notices
Hi-index | 0.00 |
Smalltalk-80 provides only a minimal set of concurrency control mechanisms. The fork and newProcess messages can be used to indicate that two (or more) processes can run concurrently, and a Semaphore class is provided which can be used to achieve synchronization.These features are not enough, however, to simulate true concurrency. A process will not yield the processor until it can no longer continue. This makes it all too easy to unintentionally produce code which is dependent upon yielding the processor at some specific point.The Delay and Random classes were used to force processes to yield nondeterministically. This allowed a single processor, context switching environment to be simulated. The producer/consumer problem was used to exercise the concurrent mechanisms in this investigation.