October 2009
M T W T F S S
    Nov »
 1234
567891011
12131415161718
19202122232425
262728293031  

Archives

Categories

  • [+]ASP.NET (7) 
  • [—]C# (87) 
  • [+]C++ (13) 
  • [+]Delphi (20) 
  • [+]JavaScript (24) 
  • [+]Regular Expressions (7) 
  • [+]SQL (13) 
  • [+]VB (100) 
  • [+]VB.NET (4) 

Online

Users: 6 Guests
  • Loading...


    Loading...

    Login






    Register | Lost password?

    Register





    A password will be mailed to you.
    Log in | Lost password?

    Retrieve password





    A confirmation mail will be sent to your e-mail address.
    Log in | Register
  • Interprocess synchronization (safe threading)

    Author: Miroslav Stampar

    URL: http://mstampar.awardspace.com/

    // Interprocess synchronization (safe threading)
    
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Threading;
    
    namespace ConsoleApplication12
    {
        class Program
        {
            static object thisLock = new object();
            static int z = 0;
            private static void ThrStart()
            {
                for (int i = 0; i < 10000; i++)
                {
                    lock (thisLock)
                    {
                        z++;
                        Console.WriteLine(z);
                    }
                }
            }
    
            private static void ThrStart2()
            {
                for (int i = 0; i < 10000; i++)
                {
                    Monitor.Enter(thisLock);
                    z++;
                    Console.WriteLine(z);
                    Monitor.Exit(thisLock);
                }
            }
    
            static Mutex mutex = new Mutex();
            private static void ThrStart3()
            {
                for (int i = 0; i < 10000; i++)
                {
                    mutex.WaitOne();
                    z++;
                    Console.WriteLine(z);
                    mutex.ReleaseMutex();
                }
            }
    
            static void Main(string[] args)
            {
                Thread t1 = new Thread(new ThreadStart(ThrStart));
                Thread t2 = new Thread(new ThreadStart(ThrStart));
                t1.Start();
                t2.Start();
                t1.Join();
                t2.Join();
    
                t1 = new Thread(new ThreadStart(ThrStart2));
                t2 = new Thread(new ThreadStart(ThrStart2));
                t1.Start();
                t2.Start();
                t1.Join();
                t2.Join();
    
                t1 = new Thread(new ThreadStart(ThrStart3));
                t2 = new Thread(new ThreadStart(ThrStart3));
                t1.Start();
                t2.Start();
                t1.Join();
                t2.Join();
            }
        }
    }
    

    Share: These icons link to social bookmarking sites where readers can share and discover new web pages.
    • Digg
    • del.icio.us
    • Bloglines
    • Facebook
    • Google Bookmarks
    • LinkedIn
    • Technorati
    • TwitThis
    • Webnews

    Leave a Reply

     

     

     

    You can use these HTML tags

    <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <font color="" face="" size=""> <span style="">

    Spam Protection by WP-SpamFree Plugin