Rumah  >  Artikel  >  pembangunan bahagian belakang  >  C#Thread同步Mutex的代码详解

C#Thread同步Mutex的代码详解

黄舟
黄舟asal
2017-03-20 13:15:122012semak imbas

 首先Mutx m = new Mutex();

在一个函数中 m.WaitOne();

然后 m.ReleaseMutex();

在另一个函数中 同样 m.WaitOne();

m.ReleaseMutex();

你要写的只能一个进程访问的代码段就放在m.WaitOne();和m.ReleaseMutex();中间

 private Mutex mutF = new Mutex();  
        private Mutex mutH = new Mutex();  
          
        private void ReadF()  
        {  
            mutF.WaitOne();  
           // your code to access the resource              
            mutF.ReleaseMutex();  
        }  
  
        private void ReadH()  
        {  
            mutH.WaitOne();  
  
            // your code to access the resource  
            mutH.ReleaseMutex();  
        }  
  
  
        private void Form1_Load(object sender, EventArgs e)  
        {  
  
            Thread tF = new Thread(new ThreadStart(ReadF));  
            Thread tH = new Thread(new ThreadStart(ReadH));  
            tFlower.Start();  
            tH.Start();  
              
            mutF.WaitOne();  
            mutH.WaitOne();  
            // your code to access the resource  
            Thread.Sleep(1000);  
            mutH.ReleaseMutex();  
            mutF.ReleaseMutex();  
}

Atas ialah kandungan terperinci C#Thread同步Mutex的代码详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn