«task-parallel-library» 태그된 질문

Task Parallel Library는 .NET 4 이후 .NET Framework의 일부입니다. 개발자가 비동기 응용 프로그램을 프로그래밍 할 수 있도록하는 API 세트입니다.

4
모든 서버 측 코드에 대해 ConfigureAwait를 호출하는 모범 사례
서버 측 코드 (예 : 일부 ApiController)가 있고 함수가 비동기 적이므로 반환 Task<SomeObject>되는 경우 언제든지 호출하는 함수를 기다리는 것이 가장 좋습니다 ConfigureAwait(false). 스레드 컨텍스트를 원래 스레드 컨텍스트로 다시 전환 할 필요가 없으므로 성능이 뛰어납니다. 그러나 ASP.NET Web Api를 사용하면 요청이 하나의 스레드에 들어오고 함수 ConfigureAwait(false)의 최종 결과를 반환 할 때 …

9
인터페이스가 Task를 반환해야하는 경우 작동하지 않는 구현을 수행하는 가장 좋은 방법은 무엇입니까?
아래 코드에서 인터페이스로 인해 클래스 LazyBar는 메서드에서 작업을 반환해야합니다 (인수를 변경할 수 없음). LazyBar신속하고 동 기적으로 실행된다는 점에서 구현이 특이한 경우 -메소드에서 비 작동 태스크를 리턴하는 가장 좋은 방법은 무엇입니까? Task.Delay(0)아래에 갔지만 함수가 많이 호출되면 성능에 부작용이 있는지 알고 싶습니다 (인수를 위해 초당 수백 번 말하십시오). 이 구문 설탕은 큰 …

5
여러 작업에 async / await 사용
나는, 각 작업 수익률 중 하나입니다 완전히 asynchrounous 인 API 클라이언트를 사용하고 Task또는 Task<T>, 예를 : static async Task DoSomething(int siteId, int postId, IBlogClient client) { await client.DeletePost(siteId, postId); // call API client Console.WriteLine("Deleted post {0}.", siteId); } C # 5 async / await 연산자를 사용하면 여러 작업을 시작하고 모두 …

15
작업 <T>이 시간 초과로 완료 될 때까지 비동기 적으로 대기
특별한 규칙 으로 Task &lt;T&gt; 가 완료 되기를 기다립니다 . X 밀리 초 후에 완료되지 않은 경우 사용자에게 메시지를 표시하고 싶습니다. 그리고 Y 밀리 초 후에 완료되지 않으면 자동으로 취소를 요청 하고 싶습니다 . Task.ContinueWith 를 사용 하여 작업이 완료 될 때까지 비동기 적으로 기다릴 수 있지만 (예 : 작업이 …

4
Task.Delay 사용시기, Thread.Sleep 사용시기
Task.Delay 와 Thread.Sleep 을 사용할 때 좋은 규칙이 있습니까? 구체적으로, 하나가 다른 것보다 효과적이고 효율적일 수 있도록하는 최소값이 있습니까? 마지막으로 Task.Delay로 인해 비동기 / 대기 상태 시스템에서 컨텍스트 전환이 발생하므로이를 사용하는 오버 헤드가 있습니까?

8
작업과 스레드의 차이점은 무엇입니까?
C # 4.0 Task에는 System.Threading.Tasks 네임 스페이스가 있습니다. 사이의 진정한 차이는 무엇 Thread과 Task. 학습을 위해 샘플 프로그램 (MSDN에서 가져온 도움)을 사용했습니다. Parallel.Invoke Parallel.For Parallel.ForEach 아이디어가 명확하지 않기 때문에 많은 의심이 있습니다. 나는 처음에 비슷한 유형의 질문에 대해 Stackoverflow를 검색했지만이 질문 제목으로 동일하지 않을 수 있습니다. 누구든지 여기에 게시 된 …


4
Moq에게 작업을 반환하도록하려면 어떻게해야합니까?
선언하는 인터페이스가 있습니다 Task DoSomethingAsync(); 테스트에 MoqFramework를 사용하고 있습니다. [TestMethod()] public async Task MyAsyncTest() { Mock&lt;ISomeInterface&gt; mock = new Mock&lt;ISomeInterface&gt;(); mock.Setup(arg =&gt; arg.DoSomethingAsync()).Callback(() =&gt; { &lt;my code here&gt; }); ... } 그런 다음 테스트에서 호출하는 코드를 실행합니다 await DoSomethingAsync(). 그리고 테스트는 그 라인에서 실패합니다. 내가 뭘 잘못하고 있죠?

11
기다리지 않고 C #에서 비동기 메서드를 안전하게 호출하는 방법
나는이 async데이터를 반환 방법 : public async Task MyAsyncMethod() { // do some stuff async, don't return any data } 일부 데이터를 반환하는 다른 메서드에서 이것을 호출합니다. public string GetStringData() { MyAsyncMethod(); // this generates a warning and swallows exceptions return "hello world"; } MyAsyncMethod()기다리지 않고 호출 하면 Visual Studio에서 …

4
비동기 작업을 동 기적으로 대기하는 이유와 여기서 Wait ()가 프로그램을 정지시키는 이유
서문 : 해결책이 아니라 설명을 찾고 있습니다. 나는 이미 해결책을 알고 있습니다. 태스크 기반 비동기 패턴 (TAP), 비동기 및 대기에 관한 MSDN 기사를 연구하면서 며칠을 보냈음에도 불구하고 여전히 세부적인 부분에 대해 약간 혼란스러워합니다. Windows 스토어 앱용 로거를 작성 중이며 비동기 및 동기 로깅을 모두 지원하려고합니다. 비동기 메소드는 TAP를 따르고 동기 …

6
비동기 void 메소드에 의해 발생 된 예외를 잡아라
Microsoft의 .NET 용 비동기 CTP를 사용하면 호출 방법에서 비동기 방법으로 발생한 예외를 포착 할 수 있습니까? public async void Foo() { var x = await DoSomethingAsync(); /* Handle the result, but sometimes an exception might be thrown. For example, DoSomethingAsync gets data from the network and the data is invalid... …

4
Parallel.ForEach vs Task.Factory.StartNew
아래 코드 스 니펫의 차이점은 무엇입니까? 둘 다 스레드 풀 스레드를 사용하지 않습니까? 예를 들어 컬렉션의 각 항목에 대해 함수를 호출하려면 Parallel.ForEach&lt;Item&gt;(items, item =&gt; DoSomething(item)); vs foreach(var item in items) { Task.Factory.StartNew(() =&gt; DoSomething(item)); }

8
여러 개의 비동기 작업을 실행하고 모두 완료되기를 기다리는 중
콘솔 응용 프로그램에서 여러 비동기 작업을 실행하고 추가 처리 전에 모두 완료 될 때까지 기다려야합니다. 많은 기사가 있지만 읽을수록 많이 혼란스러워하는 것 같습니다. 작업 라이브러리의 기본 원칙을 읽고 이해했지만 어딘가에 링크가 명확하게 없습니다. 나는 다른 완료 (시작한 모든 기사에 대한 시나리오 임) 후에 시작되도록 작업을 연결할 수 있지만 모든 작업이 …

10
다른 결과로 여러 작업 대기
3 가지 작업이 있습니다. private async Task&lt;Cat&gt; FeedCat() {} private async Task&lt;House&gt; SellHouse() {} private async Task&lt;Tesla&gt; BuyCar() {} 내 코드를 계속하기 전에 모두 실행해야하며 각 결과도 필요합니다. 어떤 결과도 서로 공통점이 없습니다. 3 가지 작업을 완료 한 다음 결과를 얻으려면 어떻게 전화를 걸어야합니까?

12
비동기 메서드를 동 기적으로 호출
나는이 async방법을 : public async Task&lt;string&gt; GenerateCodeAsync() { string code = await GenerateCodeService.GenerateCodeAsync(); return code; } 이 메소드를 동기 메소드에서 호출해야합니다. GenerateCodeAsync이것이 동 기적으로 작동하기 위해 메소드 를 복제하지 않고 어떻게 할 수 있습니까? 최신 정보 그러나 합리적인 해결책을 찾지 못했습니다. 그러나 HttpClient이미이 패턴을 구현하고 있음을 알았습니다. using (HttpClient client …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.