2011-09-21 3 views

답변

1

멀티 스레딩은 비동기식입니다. 가치를 되찾기 위해서는 값을 전달할 수 있도록 콜백 (작업이 끝나면 스레드가 호출 할 수있는 메소드)을 구현해야합니다.

2

초기 요청시 클라이언트에 응답을 전달할 수 없습니다. 클라이언트가 연속적으로 메소드를 호출하여 작업이 완료되었는지 확인하는 토큰을 반환해야합니다. 작업이 완료되면 메서드는 결과를 반환하고 그렇지 않으면 결과를 반환하여 폴링을 계속해야 함을 나타냅니다.

.NET 4.0을 사용하는 경우 Task<T> class을 사용하고 클라이언트에 다시 전달하는 것이 좋습니다. 귀하의 고객은 결과를 기다리고, 기다리고, 완료되면 통보를받을 수 있습니다.

.NET 4.0으로 작업하지 않는 경우, 사용자 정의 Delegate을 사용하여 익명 메소드/메소드 그룹을 그 다음 BeginInvoke를 위임자에게 호출합니다. 위의 작업 (폴링, 대기 등)을 수행하는 데 사용할 수있는 IAsyncResult implementation을 반환합니다.