C#Thread同步Mutex的代码详解

黄舟
Libérer: 2017-03-20 13:15:12
original
2023 Les gens l'ont consulté

 首先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();  
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!