程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 多線程同時操作界面使用互斥體

多線程同時操作界面使用互斥體

編輯:C#入門知識

private void button4_Click(object sender, EventArgs e)
        {
            Mutex m = new Mutex();
            autoevent = new AutoResetEvent(false);

            Thread t = new Thread(delegate()
            {
                Thread.Sleep(500);
                for (int i = 0; i < 50000; i++)
                {
                    m.WaitOne();
                    try
                    {
                        label1.Invoke
                        (
                            (MethodInvoker)
                            delegate
                            {
                                label1.Text = i.ToString();
                            }
                        );
                    }
                    finally
                    {
                        m.ReleaseMutex();
                    }
                }
            });
            t.Start();

            Thread t2 = new Thread(delegate()
            {
                for (int i = 0; i < 50000; i++)
                {
                    m.WaitOne();
                    try
                    {
                        label1.Invoke((System.Action)delegate()
                        {

                            label1.Text = i.ToString();

                        });
                    }
                    finally
                    {
                        m.ReleaseMutex();
                    }

                }
            });
            t2.Start();
        }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved