using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

namespace _313_fall_07_lecture_20
{
    class Program
    {
        static int ID = 0;
        static Random r = new Random();

        static void Main(string[] args)
        {
            Console.WriteLine("In main");

            Thread[] workers = new Thread[10];
            for (int i = 0; i < 10; i++)
            {
                workers[i] = new Thread(new ThreadStart(DoWork));
                workers[i].Start();
            }

            while (true)
            {
                Console.WriteLine("In main");
                Thread.Sleep(r.Next(100));
            }
        }

        static void DoWork()
        {
            int id = ID;
            ID++;

            while (true)
            {
                Console.WriteLine("{0} is doing work", id);
                Thread.Sleep(r.Next(100));
            }
        }

        
        /*
        static int coke_count;
        static Random r = new Random();

        static void Main(string[] args)
        {
            coke_count = 10;

            Console.WriteLine("In main");

            Thread t = new Thread(new ThreadStart(DoWork));
            t.Start();

            while (true)
            {
                Console.WriteLine("In main");
                if (coke_count < 2)
                {
                    Console.WriteLine("Stocking cokes");
                    coke_count += 2;
                }
                Thread.Sleep(r.Next(1000));
            }
        }

        static void DoWork()
        {
            while (true)
            {
                Console.WriteLine("Doing work");
                if (coke_count > 0)
                {
                    Console.WriteLine("Drink a coke");
                    coke_count--;
                }
                Thread.Sleep(r.Next(1000));
            }
        }
*/
    }
}