Articles of multithreading

C # atualização da interface do usuário na tarefa

Eu sou novo no C# Task e threading. Eu tenho um código como abaixo: – public void UpdateSales(object sender, EventArgs args) { Task.Run(() => { // Some code Create Collection … // Some code with business logic .. // Below code is to update UI // is it safe to update UI like below saleDataGrid.Dispatcher.Invoke((Action) […]

Como posso lidar com “CrossThreadMessagingException”?

Eu tenho um código simples para mostrar uma seqüência de tempo na minha GUI por um componente de etiqueta. Este código está no evento tick de um timer. Às vezes, recebo “Microsoft.VisualStudio.Debugger.Runtime.CrossThreadMessagingException” e não sei por quê? Como posso pegar essa exceção? Como posso alterar meu código para não receber essa exceção? //Calculate and show […]

Atualizar elementos no BindingSource por meio de uma tarefa separada

Eu tenho uma aula, digamos Person, com um Id e um nome. Esta class implementa corretamente INotifyPropertyChanged Adição: algumas pessoas pediram para a turma Person. Meu problema real é uma class mais elaborada, simplifiquei para um POCO bastante simples para ter certeza de que não era por causa da minha class. Originalmente: public class Person […]

Como determinar em qual CPU um encadeamento é executado?

Existe uma maneira de determinar em qual CPU um determinado segmento é executado? De preferência em C #, mas C ++ faria. As classs Process e ProcessThread do .NET não parecem fornecer essas informações. Esclarecimentos ETA: Estamos desenvolvendo um aplicativo de servidor que processa streams de multicast http e gera vários codificadores de vídeo. Isso […]

Aguarde dois segmentos para terminar

Se você tiver um thread principal que inicia dois outros threads. Qual é a maneira mais limpa de fazer o thread principal esperar pelos dois outros threads? Eu poderia usar o bgndworker e o sleep spinner que verificam tanto o IsBusy dos trabalhadores da bgnd, mas eu acho que há uma maneira melhor. EDIT Mais […]

Dentro de um método de instância C #, pode ‘isso’ ser nulo?

Eu tenho uma situação onde muito raramente uma fila de objects está fazendo um nulo. A única chamada para Enfileirar é dentro da própria class: m_DeltaQueue.Enqueue(this); Muito raramente, um nulo é retirado da fila no seguinte código (um método estático): while (m_DeltaQueue.Count > 0 && index++ < count) if ((m = m_DeltaQueue.Dequeue()) != null) m.ProcessDelta(); […]

C # – são parâmetros Segmento seguro em um método estático?

Esse método é seguro para thread? Parece que não é … public static void Foo(string _str, Guid _id) { _str = _str + _id.ToString(); /* Do Stuff */ return }

Portas de conclusão do HttpWebRequest e de E / S

Eu estou trabalhando em um aplicativo que requer um tipo de mensagem para ir para um database, e outro tipo de mensagem para ir e acertar alguma api xml externa. Eu tenho que processar muito … um dos grandes desafios é fazer com que a class HttpWebRequest tenha um bom desempenho. Inicialmente comecei usando apenas […]

Solicitações da Web Multithreading do ASP.NET

Estou construindo uma página na minha solução ASP.NET que recupera a maioria de seus dados de um serviço de API de terceiros. A própria página precisará fazer aproximadamente cinco chamadas individuais diferentes à API para preencher todos os seus controles, pois cada solicitação da Web para a API traz de volta conjuntos diferentes de dados. […]

Por que usar System.Threading.Thread.Sleep () é uma prática ruim?

Eu estou escrevendo um aplicativo trabalhando com um sistema de terceiros grande e feio através de uma API complicada. Às vezes, alguns erros acontecem no sistema, mas se esperarmos que o meu programa enfrente esses erros, pode ser tarde demais. Então, eu uso um thread separado para verificar o estado do sistema da seguinte forma: […]