pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

C#多線程中如何運(yùn)用互斥鎖Mutex

這篇文章主要為大家詳細(xì)介紹了C#多線程中如何運(yùn)用互斥鎖Mutex,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

互斥鎖(Mutex)

互斥鎖是一個(gè)互斥的同步對(duì)象,意味著同一時(shí)間有且僅有一個(gè)線程可以獲取它。

互斥鎖可適用于一個(gè)共享資源每次只能被一個(gè)線程訪問的情況

 函數(shù):


//創(chuàng)建一個(gè)處于未獲取狀態(tài)的互斥鎖
Public Mutex();
//如果owned為true,互斥鎖的初始狀態(tài)就是被主線程所獲取,否則處于未獲取狀態(tài)
Public Mutex(bool owned);

 如果要獲取一個(gè)互斥鎖。應(yīng)調(diào)用互斥鎖上的WaitOne()方法,該方法繼承于Thread.WaitHandle類

它處于等到狀態(tài)直至所調(diào)用互斥鎖可以被獲取,因此該方法將組織住主調(diào)線程直到指定的互斥鎖可用,如果不需要擁有互斥鎖,用ReleaseMutex方法釋放,從而使互斥鎖可以被另外一個(gè)線程所獲取。


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.Threading;
 
namespace MyTTCon
{
 class shareRes
 {
  public static int count = 0;
  public static Mutex mutex = new Mutex();
 }
 
 class IncThread
 {
  int number;
  public Thread thrd;
  public IncThread(string name, int n)
  {
   thrd = new Thread(this.run);
   number = n;
   thrd.Name = name;
   thrd.Start();
  }
  void run()
  {
   Console.WriteLine(thrd.Name + "正在等待 the mutex");
   //申請(qǐng)
   shareRes.mutex.WaitOne();
   Console.WriteLine(thrd.Name + "申請(qǐng)到 the mutex");
   do
   {
    Thread.Sleep(1000);
    shareRes.count++;
    Console.WriteLine("In " + thrd.Name + "ShareRes.count is " + shareRes.count);
    number--;
   } while (number > 0);
   Console.WriteLine(thrd.Name + "釋放 the nmutex");
   // 釋放
   shareRes.mutex.ReleaseMutex();
  }
 }
 class DecThread
 {
  int number;
  public Thread thrd;
  public DecThread(string name, int n)
  {
   thrd = new Thread(this.run);
   number = n;
   thrd.Name = name;
   thrd.Start();
  }
  void run()
  {
   Console.WriteLine(thrd.Name + "正在等待 the mutex");
   //申請(qǐng)
   shareRes.mutex.WaitOne();
   Console.WriteLine(thrd.Name + "申請(qǐng)到 the mutex");
   do
   {
    Thread.Sleep(1000);
    shareRes.count--;
    Console.WriteLine("In " + thrd.Name + "ShareRes.count is " + shareRes.count);
    number--;
   } while (number > 0);
   Console.WriteLine(thrd.Name + "釋放 the nmutex");
   // 釋放
   shareRes.mutex.ReleaseMutex();
  }
 }
 
 class Program
 {
  static void Main(string[] args)
  {
   IncThread mthrd1 = new IncThread("IncThread thread ", 5);
   DecThread mthrd2 = new DecThread("DecThread thread ", 5);
   mthrd1.thrd.Join();
   mthrd2.thrd.Join();
  }
 }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持html5模板網(wǎng)。

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

這篇文章主要為大家詳細(xì)介紹了C# SendMail發(fā)送郵件功能實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
這篇文章主要介紹了C#實(shí)現(xiàn)的SQL備份與還原功能,結(jié)合具體實(shí)例形式分析了C#操作數(shù)據(jù)庫(kù)實(shí)現(xiàn)SQL備份與還原相關(guān)的控件、SQL連接、文件等操作技巧,需要的朋友可以參考下
這篇文章主要介紹了C#使用checkedListBox1控件鏈接數(shù)據(jù)庫(kù)的方法,結(jié)合具體實(shí)例形式分析了數(shù)據(jù)庫(kù)的創(chuàng)建及checkedListBox1控件連接數(shù)據(jù)庫(kù)的相關(guān)操作技巧,需要的朋友可以參考下
這篇文章主要介紹了C#實(shí)現(xiàn)的sqlserver操作類,結(jié)合具體實(shí)例形式分析了C#針對(duì)sqlserver數(shù)據(jù)庫(kù)進(jìn)行連接、查詢、更新、關(guān)閉等相關(guān)操作技巧,需要的朋友可以參考下
這篇文章主要為大家詳細(xì)介紹了C#多線程數(shù)組模擬socket的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
這篇文章主要為大家詳細(xì)介紹了C#根據(jù)http和ftp圖片地址獲取對(duì)應(yīng)圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 无锡门窗-系统门窗-阳光房-封阳台-断桥铝门窗厂[窗致美] | 烘干设备-热泵烘干机_广东雄贵能源设备有限公司 | 济南侦探调查-济南调查取证-山东私家侦探-山东白豹调查咨询公司 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 专业甜品培训学校_广东糖水培训_奶茶培训_特色小吃培训_广州烘趣甜品培训机构 | 手持式3d激光扫描仪-便携式三维立体扫描仪-北京福禄克斯 | 不发火防静电金属骨料_无机磨石_水泥自流平_修补砂浆厂家「圣威特」 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 噪声治理公司-噪音治理专业隔音降噪公司 | 设计圈 - 让设计更有价值!| 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | 家庭教育吧-在线家庭教育平台,专注青少年家庭教育 | HEYL硬度计量泵-荧光法在线溶解氧仪-净时测控技术(上海)有限公司 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 执业药师报名时间,报考条件,考试时间-首页入口 | 出国劳务公司_正规派遣公司[严海] | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 全温度恒温培养摇床-大容量-立式-远红外二氧化碳培养箱|南荣百科 | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 | 有福网(yofus.com)洗照片冲印,毕业聚会纪念册相册制作个性DIY平台 | 滑石粉,滑石粉厂家,超细滑石粉-莱州圣凯滑石有限公司 | 电销卡 防封电销卡 不封号电销卡 电话销售卡 白名单电销卡 电销系统 外呼系统 | 防水套管厂家_刚性防水套管_柔性防水套管_不锈钢防水套管-郑州中泰管道 | 恒温振荡混匀器-微孔板振荡器厂家-多管涡旋混匀器厂家-合肥艾本森(www.17world.net) | 液压扳手-高品质液压扳手供应商 - 液压扳手, 液压扳手供应商, 德国进口液压拉马 | 医用空气消毒机-医用管路消毒机-工作服消毒柜-成都三康王 | 真空乳化机-灌装封尾机-首页-温州精灌 | 作文导航网_作文之家_满分作文_优秀作文_作文大全_作文素材_最新作文分享发布平台 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 | 苗木价格-苗木批发-沭阳苗木基地-沭阳花木-长之鸿园林苗木场 | 机器视觉检测系统-视觉检测系统-机器视觉系统-ccd检测系统-视觉控制器-视控一体机 -海克易邦 | 酒瓶_酒杯_玻璃瓶生产厂家_徐州明政玻璃制品有限公司 | 南京交通事故律师-专打交通事故的南京律师| 数显恒温油浴-电砂浴-高温油浴振荡器-常州迈科诺仪器有限公司 | 蓝莓施肥机,智能施肥机,自动施肥机,水肥一体化项目,水肥一体机厂家,小型施肥机,圣大节水,滴灌施工方案,山东圣大节水科技有限公司官网17864474793 | 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | 蒸压釜_蒸养釜_蒸压釜厂家-山东鑫泰鑫智能装备有限公司 | 北京西风东韵品牌与包装设计公司,创造视觉销售力! | 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 深圳标识制作公司-标识标牌厂家-深圳广告标识制作-玟璟广告-深圳市玟璟广告有限公司 |