Actualmente estoy lidiando con un problema donde tengo que enviar muchísimas funciones a otro hilo para evitar que la función actual se bloquee. ahora me pregunto cuál es la forma más rápida de realizar esta tarea.¿La forma más rápida de ejecutar un método de forma asíncrona?
Actualmente estoy pegado con
ThreadPool.UnsafeQueueUserWorkItem
como ligeramente más rápido que el QueueUserWorkItem regular. sin embargo, me temo que el subproceso puede bloquear esto aquí. ¿Hay una forma más rápida de enviar una llamada a otro hilo? solo me pregunto cuál es la mejor práctica para tal tarea? código inseguro no sería un problema ya que está en un escenario donde ya se usa mucha interoperabilidad. gracias j.
Cuando dicen 'más rápido' ¿Quiere decir que usted quiere reducir el bloqueo en el hilo 'principal'? Específicamente, ¿la llamada que pone en cola el elemento para el procesamiento en segundo plano regresa lo más rápido posible? –
WRT su preocupación declarada, el grupo de hilos no bloquea para esa llamada (o la normal 'segura'), pero devuelve un bool para si fue puesta en cola con éxito, con la teoría de que si devuelve falso, es posible que quiero ejecutarlo en el hilo actual, o intentarlo más tarde, o lo que sea. –
¿Está enviando el mismo método cada vez? ¿Necesitan operar de manera sincronizada el uno con el otro? ¿Es aceptable el enfoque productor/consumidor? (por lo que la persona que llama simplemente agrega algo a una cola). ¿Qué versión de .NET es esto? –