Tengo una pregunta. Es posible y válido, si tengo un objeto con un método DoSomething(), si creo múltiples hilos para este método, ¿funcionará y se ejecutará como un hilo independiente?Creando múltiples hilos para el mismo método en una instancia en un objeto
E.g.
public class SomeClass
{
public void DoSomething()
{
//somethings done here
}
}
public class MainProgram
{
public MainProgram()
{
InitializeComponents();
}
protected override OnStart(string[] args)
{
SomeClass sc = new SomeClass();
Thread workerOne = new Thread(() => sc.DoSomething());
workerOne.Start();
Thread workerTwo = new Thread(() => sc.DoSomething());
workerTwo.Start(); //start a new thread calling same method
}
}
Espero que eso explique a qué me refiero. ¿Esto funcionaría o causaría algún problema?
Estoy escribiendo un programa que necesita casi ser software en tiempo real, actualmente estoy decidiendo si la inicialización de una nueva instancia de SomeClass es mejor o no?
Espero que alguien pueda responder. Si mi pregunta no tiene sentido, ¡por favor comenten y les explicaré más!
Gracias,
Base33
PS El código fue escrito específicamente para el ejemplo :)
¿qué versión de C#/.NET estás? – RobertMS
Enlace obligatorio: [ebook gratis de Joe Albahari] (http://www.albahari.com/threading/) –
Soy un programador de Java. Pero después de examinar su código más de cerca, parece que puede reutilizar la misma instancia de SomeClass. Aunque, solo un hilo podrá ejecutar el método mientras el otro espera su turno. Al menos eso es lo que sucede en Java. – CKing