IAsyncResult Pattern ou Asynchronous Programming Model (APM)

11
@rogeriomc

description

O padrão IAsyncResult Pattern ou Asynchronous Programming Model (APM) foi introduzido no .NET Framework 1.0, em fevereiro de 2002. Também conhecido como Begin/End Pattern, num nível básico, o padrão se baseia em dois métodos relacionados para representar uma operação assíncrona: BeginNomeOperacao e EndNomeOperacao.

Transcript of IAsyncResult Pattern ou Asynchronous Programming Model (APM)

Page 2: IAsyncResult Pattern ou Asynchronous Programming Model (APM)

Tópicos a serem apresentados

2

Page 3: IAsyncResult Pattern ou Asynchronous Programming Model (APM)

3

Page 4: IAsyncResult Pattern ou Asynchronous Programming Model (APM)
Page 5: IAsyncResult Pattern ou Asynchronous Programming Model (APM)

5

Page 6: IAsyncResult Pattern ou Asynchronous Programming Model (APM)

6

TRetorno NomeOperacao(TParam1 p1, TParam2 p2);

IAsyncResult BeginNomeOperacao(TParam1 p1, TParam2 p2, AsyncCallback ac, object estado);

TRetorno EndNomeOperacao(IAsyncResult ar);

delegate

informações

da aplicação

informações sobre a

operação assíncrona

Page 7: IAsyncResult Pattern ou Asynchronous Programming Model (APM)

7

Page 8: IAsyncResult Pattern ou Asynchronous Programming Model (APM)

8

Membro Descrição

AsyncState { get; } Propriedade do tipo object que contém

informações da operação assíncrona

AsyncWaitHandle { get; }

Propriedade do tipo WaitHandle que é usada para

aguardar que uma operação assíncrona seja

completada

CompletedSynchronously

{ get; }

Propriedade booleana que indica se uma operação

assíncrona foi completada na mesma thread da

chamada do método BeginNomeOperacao

IsCompleted { get; } Propriedade booleana que indica se a operação

assíncrona foi completada

Page 9: IAsyncResult Pattern ou Asynchronous Programming Model (APM)
Page 10: IAsyncResult Pattern ou Asynchronous Programming Model (APM)

Asynchronous Programming Model (APM)

http://msdn.microsoft.com/en-us/magazine/cc163467.aspx

http://blogs.msdn.com/b/nikos/archive/2011/03/14/how-to-implement-iasyncresult-in-another-way.aspx

10

Page 11: IAsyncResult Pattern ou Asynchronous Programming Model (APM)