학생 목록을 얻은 후에 병렬/독립적으로 학생 목록을 실행해야하는 시나리오가 있습니다. 그러나 다음 코드와 함께 실행하면 프로그램이 제대로 완료되지 않고 종료됩니다. public async Task ProcessStudents()
{
var students = await GetStudentsAsync().ConfigureAwait(false);
가 나는 그것의 핵심, 같은 방법을 호출하여 몇 네버 앤딩 루프를 실행하는 서비스있어 var tokenSource = new CancellationTokenSource();
var stuffTask = DoStuffPeriodically(tokenSource.token);
을 지금을이 영원히 실행됩니다 다른 방법으로 토큰을 취소하고 stuffTask.
나는 사용자가 많은 장기 실행 작업을 할 수있는 작업을 제출할 수있는 웹 응용 프로그램을 보유하고 있습니다. 웹 응용 프로그램이 진행률 표시 줄을 표시 할 수 있도록 yield return을 사용하고 있지만 동기 실행이 적용됩니다. 내가하고 싶은 일은 내 작업 목록을 가져 와서 병렬로 실행하지만 여전히 사용자에게 피드백을 제공하는 것입니다. 아래 코드에서
간단한 예제에서 내 문제를 설명하고 더 가까운 문제를 설명합니다. 상자 1에 [i1, i2, i3, i4, ...]가 있고 항목을 처리 할 수있는 상자 2가 있습니다 (일반적으로 m은 n보다 훨씬 적음). 각 항목에 필요한 시간이 다릅니다. 나는 모든 항목이 진행될 때까지 항상 m 직업 품목을하고 싶다. 훨씬 더 가까운 문제는 파일의 n 개의 문자열 (UR
레거시 이벤트 기반 방법을 관찰 가능 기반으로 변환하고 싶습니다. 그러나 Rx를 매우 신중하게 사용하고 있으므로 지금 당황합니다. 나는 이벤트 소스를 가지고 있는데, 지금은 관찰 할 수 있습니다. 특정 시점에서 나는 라인의 다음 요소를 리턴함으로써 끝나는 메소드를 시작해야한다. 이벤트 기반의 접근 방식은 다음과 같다 : 당신이 볼 수 있듯이 public a
BatchBlock을 사용하여 완료 될 때까지 모든 항목을 버퍼링하고 컬렉션으로 내 보낸 다음 변환 블록을 사용하여 실제 집계를 수행하는 것보다 TPL - Dataflow 메시에서 집계와 같은 기능을 구현하는 더 좋은 방법이 있습니까? 비슷하게 BatchedJoinBlock을 사용하지 않고 두 데이터 세트의 내부/외부/왼쪽/오른쪽 조인을 수행하는 다른 방법
를 C#으로 비 비동기에서 (화재 및 잊어 버려) 비동기 코드를 호출하는 가장 좋은 방법은 무엇 : 접근법 1과 접근법 2 사이 class Program
{
static void Main(string[] args)
{
var my = new MyClass();
my.OrderForm_Load();
Con
많은 이벤트가 작업을 시작하는 WPF 응용 프로그램이 있습니다. 여기 내가 어떻게하는지. 지금 var task = UpdatePersonModelAsync();
taskCollection.Add(task);
RaisePropertyChanged(nameof(IsUpdateInProgress));
await task;
taskCollection.Rem
'A'태스크의 값을 'B'태스크로 복사하십시오. public class MachineConfiguration
{
public Task<Dictionary<string, string>> LastReportTask { get; set; }
public Task<Dictionary<string, string>> TempLastReportT
을 선호하는 나는 다음과 같은 시나리오/요구 사항이 : 모두 동일한 데이터 형식을 반환 나는 두 가지 작업, 작업 A와 작업 B를 가지고. 완료시 작업 A가 결과에 데이터가있는 경우 작업 A의 결과를 반환해야합니다. 그렇지 않으면 작업 B의 결과를 반환합니다. 성능 최적화를 위해 병렬 처리를 수행하려고합니다. 내가하는 일보다 더 좋은 방법이 있는지 모르겠다