Articles of multithreading

Usando C # MethodInvoker.Invoke () para una aplicación GUI … ¿es esto bueno?

Utilizando C # 2.0 y el delegado de MethodInvoker, tengo una aplicación GUI que recibe algún evento del subproceso GUI o de un subproceso de trabajo. Uso el siguiente patrón para manejar el evento en la forma: private void SomeEventHandler(object sender, EventArgs e) { MethodInvoker method = delegate { uiSomeTextBox.Text = “some text”; }; if […]

Bloque ThreadPoolExecutor cuando la cola está llena?

Estoy tratando de ejecutar muchas tareas usando un ThreadPoolExecutor. A continuación se muestra un ejemplo hipotético: def workQueue = new ArrayBlockingQueue(3, false) def threadPoolExecutor = new ThreadPoolExecutor(3, 3, 1L, TimeUnit.HOURS, workQueue) for(int i = 0; i < 100000; i++) threadPoolExecutor.execute(runnable) El problema es que obtengo rápidamente una java.util.concurrent.RejectedExecutionException ya que el número de tareas excede […]

WPF BackgroundWorker vs. Dispatcher

En mi aplicación WPF necesito hacer una operación asincrónica, entonces necesito actualizar la GUI. Y esto lo tengo que hacer muchas veces en diferentes momentos con diferentes oparaciones. Conozco dos formas de hacer esto: Dispatcher y BackgroundWorker. Porque cuando lo elijo será difícil para mí volver, te pregunto: ¿qué es mejor? ¿Cuáles son las razones […]

C ++ 11 contenedores STL y seguridad de rosca

Tengo problemas para encontrar información actualizada al respecto. ¿Las versiones C ++ 11 de los contenedores STL tienen algún nivel de seguridad de hilo garantizado? Espero que no lo hagan, por motivos de rendimiento. Pero, una vez más, es por eso que tenemos std::vector::operator[] y std::vector::at .

¿Cuál es la diferencia entre Task.Run () y Task.Factory.StartNew ()

Tengo un método: private static void Method() { Console.WriteLine(“Method() started”); for (var i = 0; i < 20; i++) { Console.WriteLine("Method() Counter = " + i); Thread.Sleep(500); } Console.WriteLine("Method() finished"); } Y quiero comenzar este método en una nueva Tarea. Puedo comenzar una nueva tarea como esta var task = Task.Factory.StartNew(new Action(Method)); o esto var […]

Contexto de datos EF – Async / Await y Multithreading

Frecuentemente utilizo async / await para asegurarme de que los hilos de la API web ASP.NET MVC no estén bloqueados por las operaciones de E / S y de red de más larga duración, específicamente las llamadas a la base de datos. El espacio de nombres System.Data.Entity proporciona una variedad de extensiones de ayuda aquí, […]

Progtwigción de procesos de Android

Estoy tratando de obtener una mejor comprensión para poder determinar el impacto de confiabilidad de posibles problemas de interoperabilidad al crear una aplicación / servicio de Android. Me gustaría descubrir cómo se determina la prioridad del proceso. Las diferencias en prioridad entre servicios y actividades y si el planificador trata su prioridad de manera diferente. […]

¿Quién está llamando al método Java Thread interrupt () si no lo estoy?

He leído y releído Java Concurrency in Practice, he leído varios hilos aquí sobre el tema, he leído el artículo de IBM que trata con InterruptedException y, sin embargo, hay algo que simplemente no entiendo, que creo que puede romperse. hacia abajo en dos preguntas: Si nunca más voy a interrumpir otros hilos, ¿qué puede […]

¿Cómo configurar un grupo de subprocesos afinado para futuros?

¿Qué tan grande es el grupo de hilos de Scala para futuros? Mi aplicación Scala genera muchos millones de future {} s future {} y me pregunto si hay algo que pueda hacer para optimizarlos configurando un grupo de subprocesos. Gracias.

¿Qué es la contención de hilos?

¿Puede alguien explicar por favor qué es la contención del hilo? Lo busqué en Google, pero no puedo encontrar una explicación simple.