Articles of multihilo

Asegurar la seguridad del hilo en métodos estáticos en C #

Tengo un código que tengo actualmente en una clase / método estático, pero quería comprobar que sería seguro para subprocesos. Por lo que he leído, creo que esto debería estar bien, pero algo en el fondo de mi mente dice que podría no ser así. La etapa de procesamiento de datos de mi página web […]

C # – ¿Es posible iterar el montón de GC?

No estoy seguro de si las siguientes preguntas son válidas. Para educarme, solo estoy preguntando. (1) ¿Puedo iterar programáticamente el montón de GC de todas las generaciones? (2) ¿Es posible ver cómo funciona el GC en mi ensamblaje lanzando un hilo?

¿Por qué una propiedad entera a veces devuelve un 0?

[Edición: Me di cuenta de que el parámetro que está fallando es en realidad un doble y no un entero. Ninguno de los temporizadores de enteros falla de acuerdo con los registros. La mayoría de los temporizadores y parámetros son enteros, pero no todos. Los dobles no son atómicos y la falta de locking puede […]

Hilo: ¿Cómo reiniciar el hilo una vez completado?

Tengo un método void DoWork(object input) que tarda aproximadamente 5 segundos en completarse. He leído que Thread es más adecuado que ThreadPool para estas operaciones más largas, pero me he encontrado con un problema. Hago clic en un botón que llama a threadRun.Start(input) que se ejecuta y se completa threadRun.Start(input) . Vuelvo a hacer clic […]

Operación asíncrona C #

De hecho, me cuesta mucho entender los pares BeginInvoke () y EndInvoke (). class AsynchronousDemo { public delegate void DemoDelegate(); static void Main() { DemoDelegate d = PrintA; IAsyncResult AResult = d.BeginInvoke(Callback,null); d.EndInvoke(AResult); Console.ReadKey(true); } static void PrintA() { Console.WriteLine(“….Method in Print A Running ….”); Thread.Sleep(4000); Console.WriteLine(“….Method in Print A Completed…”); } static void Callback(IAsyncResult […]

C # 4.0 – Subprocesos en un intervalo

Estoy usando C # 4.0. Tengo un bloque de código que me gustaría ejecutar cada 2-3 minutos. ¿Cuál es la forma correcta de hacer esto con las funciones de subprocesamiento 4.0 disponibles?

Resultados inesperados al multiproceso

Tengo una función que debe ser llamada por un hilo iniciado con un parámetro de inicio y fin. La función funciona bien cuando se ejecuta en un único hilo principal. Sin embargo, cuando bash subprocesos múltiples en él, el código se rompe. La función es la siguiente: static void processThread(long startLimit, long endLimit) { long […]

Biblioteca tipo TPL para .NET 2.0

Después de descubrir la biblioteca de Parallels en .NET 4.0, me gustaría tener algo similar en mi aplicación .NET 2.0. ¿Existen bibliotecas auxiliares de progtwigción paralelas para .NET 2.0 que simplifiquen las tareas comunes?

¿Una nueva conexión sql para cada consulta?

Estoy escribiendo una aplicación de servidor que se comunica con un servidor SQL local. Cada cliente deberá leer o escribir datos en la base de datos. ¿Sería mejor tener una clase segura para subprocesos que se encolará y ejecutará los comandos de SQL en una sola conexión de SQL? ¿O debería abrir una nueva conexión […]

C # cancelar una tarea de larga duración que no sea un bucle

Soy nuevo en c # task, lo que quiero hacer es convertir downloadThread = new Thread(DownLoadFile); downloadThread.Start(); a la tarea como var t = Task.Factory.StartNew (DownLoadFile); También sabía utilizar CancelTokenSource para cancelar. Pero los ejemplos que he visto son todos hilos de bucle largo, como para, foreach, while, y verifican IsCancellationRequested para cancelar una tarea […]