public class Program
    {
        #region BackGroundWorker
        public static int gloable = 0;
        public static List<BackgroundWorker> bws = new List<BackgroundWorker>();
        static void Main(string[] args)
        {
            Console.WriteLine("---BackGroundWorker Begin---");
            for (int i = 1; i <= 10; i++)
            {
                Events(i);
            }
            Console.WriteLine("---BackGroundWorker End---");
            Console.ReadKey();
        }
        public static void Events(int num)
        {
            try
            {
                using (BackgroundWorker BackHandler = new BackgroundWorker())
                {
                    if (num != 3)
                    {
                        Thread.Sleep(500);
                    }
                    else
                    {
                        Thread.Sleep(1500);
                    }
                    BackHandler.DoWork += new DoWorkEventHandler(Send);
                    BackHandler.RunWorkerAsync(100);
                    bws.Add(BackHandler);
                    BackHandler.RunWorkerCompleted += new RunWorkerCompletedEventHandler(ThreadOver);
                }
            }
            catch
            {
                Console.WriteLine("BackGroundWorkerError!");
            }
        }        public static void Send(object obj, DoWorkEventArgs e)
        {
            BackgroundWorker bg = obj as BackgroundWorker;
            int Num = (int)e.Argument;
            for (int i = 1; i <= Num; i++)
            {
                Console.WriteLine("---BackGroundWorker" + i + "---");
            }
        }        public static void ThreadOver(object sender, RunWorkerCompletedEventArgs e)
        {
            BackgroundWorker bg = sender as BackgroundWorker;
            bws.Remove(sender as BackgroundWorker);
            gloable = gloable + 1;
            Console.WriteLine("BackGroundWorker!---" + gloable + "---end");
            bg.Dispose();
        }
        #endregion
    }后台异步线程的效果是有了,但是没有体现出多线程的效果!Events处的我让一个num为3的时候多sleep一会多线程BackGroundWorker