Ejecutar dos códigos simultáneamente c #

Tengo esta situación en una aplicación que estoy desarrollando, en la que necesito hacer dos cosas exactamente al mismo tiempo y estoy teniendo problemas al respecto. Estoy desarrollando una aplicación de cámara y necesito disparar la cámara al mismo tiempo que un LED para obtener una buena imagen. Las siguientes son las opciones que he probado.

Utilice dos hilos:

Thread t1 = new Thread(
                    new ThreadStart(() =>
                    {
                        //trigger LED here
                    }));

Thread t2 = new Thread(
                    new ThreadStart(() =>
                    {
                        //trigger camera
                    }));

t1.Start();

t2.Start();
t1.Join();
t2.Join();

Encienda la luz en el hilo actual y la cámara en un hilo separado

Thread t = new Thread(
                    new ThreadStart(() =>
                    {
                        //trigger camera
                    }));

// trigger LED
t.Start();
t.Join();

En ambos casos, recibo parpadeos tras 10 imágenes, lo que significa que la cámara y el LED no están sincronizados. Mi pregunta es, ¿hay alguna manera de lograr lo que estoy tratando de hacer?

Gracias.

Respuestas a la pregunta(4)

Su respuesta a la pregunta