Browse Prior Art Database

Software Communications Object Solves Deadlock Conditions

IP.com Disclosure Number: IPCOM000114145D
Original Publication Date: 1994-Nov-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 2 page(s) / 48K

Publishing Venue

IBM

Related People

Behrs, JR: AUTHOR [+3]

Abstract

Disclosed is a specialized communications object consisting of a request queue acted on by a separate thread that forwards requests to other objects on behalf of threads that submit requests to its queue. Use of the communications object can break a deadlock where Object A invokes a method of Object B that attempts to invoke a method of Object A.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 53% of the total text.

Software Communications Object Solves Deadlock Conditions

      Disclosed is a specialized communications object consisting of
a request queue acted on by a separate thread that forwards requests
to other objects on behalf of threads that submit requests to its
queue.  Use of the communications object can break a deadlock where
Object A invokes a method of Object B that attempts to invoke a
method of Object A.

      The communications object (Object C) consists of a request
queue acted on by a separate thread.  Object C accepts requests in
its queue from other threads and acts on the request independently
(asynchronously) from the execution of other threads.

      Object A can invoke methods of Object B indirectly by adding
requests to the queue of Object C.  After adding the request to the
queue of Object C, Object A continues execution.  Meanwhile, Object C
reads its queue and invokes the methods on Object B.

      The Communication Object is derived from a Thread Object, an
object that executes in its own thread of control.  The Communication
Object differs from a Thread Object by containing a Request Queue.
The Communication Object reads from the Request Queue.  If a request
is available from the Request Queue, the request is processed;
otherwise the Communication Object blocks (i.e. waits) until a
request is available.
                A                             B
    --------------------          --------------------
    |  SENDING         |          |  RECEIVING       |
   ...