Content deleted Content added
m →Example: <source lang="csharp"> |
No edit summary |
||
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|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 |date=June 1996 |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=978-1-59059-873-3 |chapter=Threading in C# }}</ref>
The '''event-based asynchronous pattern''' in [[.NET Framework]] and the {{Javadoc:SE|package=java.util.concurrent|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]].
|