Home
Browse all 647 examples
Download all 647 examples
Download sample chapters
Reviews
Errata
Acknowledgments
Links on .NET
Paradoxal Press

Buy directly from Paradoxal Press at $33.99 (Save 43%)



Category: Programming
Level: Beginner to seasoned
900 pages
ISBN-10 097661322-0
ISBN-13 978-097661322-0
$59.99 USA
$79.99 CANADA


Listing 5-17 extracted from chapter Processes, threads and synchronization


Listing 5-16<     > Listing 5-18


This listing can be compiled with the command line:
csc.exe /target:exe Example_5_17.cs
Errors: 0 Warnings: 0


Example_5_17.cs
using System.Runtime.Remoting.Contexts;
using System.Threading;
[Synchronization(SynchronizationAttribute.REQUIRED)]
public class Foo : System.ContextBoundObject {
   public void DisplayThreadId() {
      System.Console.WriteLine( "Begin: ManagedThreadId = " +
                                Thread.CurrentThread.ManagedThreadId );
      Thread.Sleep( 1000 );
      System.Console.WriteLine( "End:   ManagedThreadId = " +
                                Thread.CurrentThread.ManagedThreadId );
   }
}
public class Program {
   static Foo m_Objet = new Foo();
   static void Main() {
      Thread t0 = new Thread( ThreadProc );
      Thread t1 = new Thread( ThreadProc );
      t0.Start(); t1.Start();
      t0.Join();  t1.Join();
   }
   static void ThreadProc() {
      for int = 0; i < 2; i++ )
         m_Objet.DisplayThreadId();
   }
}	
Copyright Patrick Smacchia 2006 2007