Giriş
Şu satırı dahil ederiz.
Şu satırı dahil ederiz.
using System.Threading.Tasks;
Belirtilen metodları paralel çağırmak için kullanılır. Açıklaması şöyleThe exceptions during the execution of the methods For, ForEach, or Invoke are collated until the tasks are completed and thrown as an AggregateException exception.Örnek
Şöyle yaparız.
Parallel.Invoke(
() => QuickSort(array, left, j),
() => QuickSort(array, i, right)
);
Örnek4 tane metodu paralel çağırıp sonuçlarını almak için şöyle yaparız.
RestResult<Agent> agentResults = null;
RestResult<Company> companyResults = null;
RestResult<Contact> contactResults = null;
RestResult<Ticket> ticketResults = null;
Parallel.Invoke(
() => agentResults = agentService.GetAll(Epoch),
() => companyResults = companyService.GetAll(Epoch),
() => contactResults = contactService.GetAll(Epoch),
() => ticketResults = ticketService.GetAll(Epoch)
);
DiğerBu metod altta Task sınıfını kullanır. Yani şuna benzer bir kod üretir.
RestResult<Agent> agentResults;
RestResult<Company> companyResults;
RestResult<Contact> contactResults;
RestResult<Ticket> ticketResults;
var t1 = Task.Run(() => agentResults = agentService.GetAll(Epoch))
var t2 = Task.Run(() => companyResults = companyService.GetAll(Epoch));
var t3 = Task.Run(() => contactResults = contactService.GetAll(Epoch));
var t4 = Taks.Run(() => ticketResults = ticketService.GetAll(Epoch));
await Task.WhenAll(t1,t2,t3,t4);
Hiç yorum yok:
Yorum Gönder