????3????????

????????????????к??????volatile??Lock??InterLock??Monitor??Mutex??ReadWriteLock...

??????????lock?????????????????????????????????

????????????2??????????????

?????????????????????lock?顣

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;
    
    namespace ?????3_???2
    {
        class Program
        {
            static object obj = new object();//?????
    
            static int balance = 500;
    
            static void Main(string[] args)
            {
                Thread t1 = new Thread(new ThreadStart(Credit));
                t1.Start();
    
                Thread t2 = new Thread(new ThreadStart(Debit));
                t2.Start();
    
                Console.ReadKey();
            }
    
            static void Credit()
            {
                for (int i = 0; i < 15; i++)
                {
                    lock (obj)
                    {
                        balance += 100;
                        Console.WriteLine("After crediting??balance is {0}"?? balance);
                    }
                }
            }
            static void Debit()
            {
                for (int i = 0; i < 15; i++)
                {
                    lock (obj)
                    {
                        balance -= 100;
                        Console.WriteLine("After debiting??balance is {0}"?? balance);
                    }
                }
            }
        }
    }

????С?????????ú?????????????Winform?У???????????????????????????????????????????????????????????????á?