Example #1
0
 static void Add(object data)
 {
     if (data is AddParams)
     {
         Console.WriteLine("ID of thread in Add(): {0}",
                           Thread.CurrentThread.ManagedThreadId);
         AddParams ap = (AddParams)data;
         Console.WriteLine("{0} + {1} is {2}",
                           ap.a, ap.b, ap.a + ap.b);
     }
     // Tell other thread we are done.
     waitHandle.Set();
 }
Example #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Adding with Thread objects *****");
            Console.WriteLine("ID of thread in Main(): {0}",
            Thread.CurrentThread.ManagedThreadId);
            // Make an AddParams object to pass to the secondary thread.
            AddParams ap = new AddParams(10, 10);
            Thread t = new Thread(new ParameterizedThreadStart(Add));
            t.Start(ap); // <- pass param

            // Force a wait to let other thread finish.
            waitHandle.WaitOne();
            Console.WriteLine("Other thread is done.");
            Console.ReadLine();
        }
Example #3
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Adding with Thread objects *****");
            Console.WriteLine("ID of thread in Main(): {0}",
                              Thread.CurrentThread.ManagedThreadId);
            // Make an AddParams object to pass to the secondary thread.
            AddParams ap = new AddParams(10, 10);
            Thread    t  = new Thread(new ParameterizedThreadStart(Add));

            t.Start(ap); // <- pass param

            // Force a wait to let other thread finish.
            // That's not async!
            waitHandle.WaitOne();
            Console.WriteLine("Other thread is done.");
            Console.ReadLine();
        }