Asynchronous method invocation: Difference between revisions

Content deleted Content added
m clean up using AWB
m Update link
Line 1:
In ([[Thread (computer science)|multithreaded]]) [[object-oriented programming]], '''asynchronous method invocation''' ('''AMI'''), also known as '''asynchronous method calls''' or '''asynchronous pattern''' is a [[software design pattern (computing)|design pattern]] for [[asynchronous I/O|asynchronous]] invocation of potentially long-running [[method (computer science)|methods]] of an [[object (computer science)|object]].<ref name="Async.34.2#71139">{{cite web |url=http://www.zeroc.com/doc/Ice-3.2.1/manual/Async.34.2.html#71139 |title=Asynchronous Method Invocation |accessdate= 22 November 2008 |work=Distributed Programming with Ice |publisher=ZeroC, Inc.}}</ref>
It is equivalent to the '''IOU pattern''' described in 1996 by Allan Vermeulen.<ref>{{cite journal |last=Vermeulen |first=Allan |year=1996 |month=June |title=An Asynchronous Design Pattern |journal=[[Dr. Dobb's Journal]] |url=http://www.ddj.com/184409898 |accessdate=22 November 2008 }}</ref><ref>{{cite book |last=Nash |first=Trey |title=Accelerated C# 2008 | year=2007 |publisher=Apress |isbn=9781590598733 |chapter=Threading in C# }}</ref>
The '''event-based asynchronous pattern''' in [[.NET Framework]] and the ''java.util.concurrent.FutureTask'' class in [[Java (programming language)|Java]] use [[event (synchronization primitive)|events]] to solve the same problem. This pattern is a variant of AMI whose implementation carries more overhead, but it is useful for objects representing [[Component-based software engineering|software components]].