2009
12.01
12.01
Si algo bueno tiene C# es la facilidad con la que se pueden hacer las cosas; así a muchos les duela, este es un lenguaje en el cual el programador se debe preocupar por su algoritmo y no por como carajos implementarlo.
Aquí les dejo un sencillo ejemplo sobre como utilizar Threads en C#…. así o mas fácil!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace Thread_Sample
{
class Program
{
private Thread th1;
private Thread th2;
private int numero = 0;
Program()
{
th1 = new Thread(new ParameterizedThreadStart(contador));
th2 = new Thread(new ParameterizedThreadStart(contador));
}
public void run()
{
for (int i = 0; i < 2; i++)
{
if (i == 0)
{
th1.Start(0);
}
else
{
th2.Start(1);
}
}
//Whait for the threads to live (start)
while (!th1.IsAlive && !th2.IsAlive);
//Wait for the threads to die (end)
while (th1.IsAlive && th2.IsAlive);
}
public void contador(object obj)
{
int i = (int)(obj);
for (int j = 0; j < 50; j++)
{
if (i == 0)
{
numero++;
Console.WriteLine("Thread 0: " + numero);
Thread.Sleep(100); //For you to see the procces
}
else
{
numero++;
Console.WriteLine("Thread 1: " + numero);
Thread.Sleep(100); //For you to see the procces
}
}
}
static void Main(string[] args)
{
Program p = new Program();
p.run();
Console.WriteLine("Ya termino el programa");
Console.Read();
}
}
}
El diagrama de flujos es un algoritmo visual y genérico de un programa, para convertir el diagrama de flujos en código fuente de un programa hay que conocer el entorno donde se está creando el código para poder implementarlo.
Si no conoces el entorno de desarrollo, o cuál es la forma que tiene el entorno no vas a poder implementarlo por más algoritmo que tengas.
Muy cierto lo que dices, pero el objetivo de este post era mostrar lo sencillo que es sincronizar aplicaciones concurrentes en este Lenguaje, no pretendo que sea una guía o algún algoritmo a seguir, aunque a alguien le puede ser útil.
Saludos!
gENIAL, GRACIAS POR TU COBNTRIBUCION A LA CIENCIA