当前位置: 首页 > news >正文

东莞网站推广定制公司免费下载百度

东莞网站推广定制公司,免费下载百度,网络营销就是网站营销,付网站建设费用计入科目/// 线程的资源访问冲突:多个线程同时申请一个资源,造成读写错乱。 /// 解决方案:上锁,lock{执行的程序段}:同一时刻,只允许一个线程访问该程序段。 /// 死锁问题: /// 程序中的锁过多&#xf…

    /// 线程的资源访问冲突:多个线程同时申请一个资源,造成读写错乱。
    /// 解决方案:上锁,lock{执行的程序段}:同一时刻,只允许一个线程访问该程序段。
    /// 死锁问题:
    /// 程序中的锁过多,某一线程需要多个锁资源,而某个资源被另一线程占用,另一个线程同样如此,(谁也不愿先释放资源)形成闭环,线程无法继续进行。
    /// 解决方案:使用调度算法,让某一个被占用的资源被线程释放或关闭某个线程。 

// 资源访问冲突

    class State{private Object _lock = new Object();private int state = 100;private void test(){if(100 == state){Console.Write("state=" + state);}state++;}private void test2(){if (101 == state){Console.Write("state=" + state);}state++;}public void ChangeState(){Thread h = new Thread(test);Thread v = new Thread(test2);// h.Start();// v.Start();// state=100state=100state=101state=100请按任意键继续. . .lock (_lock){h.Start();v.Start();// state=100请按任意键继续. . .// state=100state=101请按任意键继续. . .}}}

// 主程序

    class StateProgram{static void Main(string[] args){State state = new State();for (int i = 0; i < 10; i++){Thread t = new Thread(state.ChangeState);t.Start();}Thread.Sleep(1000);}}

// 死锁

    class Deadlock{Object _lock = new Object();Object _lock2 = new Object();private int flag = 0;public void test(){lock (_lock){Console.WriteLine("我拿到了锁1");lock (_lock2){Console.WriteLine("我拿到了锁2");if(0 == flag){Console.WriteLine("我是第一名");flag = 1;}else{Console.WriteLine("我是第二名");}}}}public void test2(){lock (_lock2){Console.WriteLine("他拿到了锁2");lock (_lock){Console.WriteLine("他拿到了锁1");if (0 == flag){Console.WriteLine("他是第一名");flag = 1;}else{Console.WriteLine("他是第二名");}}}}}

// 主程序

            Deadlock star = new Deadlock();Thread t1 = new Thread(star.test);Thread t2 = new Thread(star.test2);t1.Start();t2.Start();//我拿到了锁1//他拿到了锁2

// 解决方案1:锁同步

    class Deadlock{Object _lock = new Object();Object _lock2 = new Object();private int flag = 0;public void test(){lock (_lock){Console.WriteLine("我拿到了锁1");lock (_lock2){Console.WriteLine("我拿到了锁2");if(0 == flag){Console.WriteLine("我是第一名");flag = 1;}else{Console.WriteLine("我是第二名");}}}}public void test2(){lock (_lock){Console.WriteLine("他拿到了锁2");lock (_lock2){Console.WriteLine("他拿到了锁1");if (0 == flag){Console.WriteLine("他是第一名");flag = 1;}else{Console.WriteLine("他是第二名");}}}}}

我拿到了锁1
我拿到了锁2
我是第一名
他拿到了锁2
他拿到了锁1
他是第二名
请按任意键继续. . . 

// 解决方案2:做标签

    class Deadlock{Object _lock = new Object();Object _lock2 = new Object();private int flag = 0;private int _flag = 0;public void test(){if (0 == _flag){lock (_lock){Console.WriteLine("我拿到了锁1");lock (_lock2){Console.WriteLine("我拿到了锁2");if (0 == flag){Console.WriteLine("我是第一名");flag = 1;}else{Console.WriteLine("我是第二名");}}}}_flag = 1;}public void test2(){if(1 == _flag){lock (_lock2){Console.WriteLine("他拿到了锁2");lock (_lock){Console.WriteLine("他拿到了锁1");if (0 == flag){Console.WriteLine("他是第一名");flag = 1;}else{Console.WriteLine("他是第二名");}}}}}}
            Deadlock star = new Deadlock();Thread t1 = new Thread(star.test);Thread t2 = new Thread(star.test2);t1.Start();Thread.Sleep(1000);t2.Start();

我拿到了锁1
我拿到了锁2
我是第一名
他拿到了锁2
他拿到了锁1
他是第二名
请按任意键继续. . .

http://www.yayakq.cn/news/864359/

相关文章:

  • 阜阳市城乡建设网站建设工程考试官方网站
  • 建站技术分享自媒体运营课程培训
  • 免费域名注册和免费建站巴南市政建设网站
  • 秦皇岛做网站的公司选汉狮上海的装修公司前十强有哪些
  • 贵州华瑞网站建设有限公司建设银行环县支行网站
  • 海淀区网站制作公司百度电脑版下载官方
  • 外贸网站建设是什么意思优化公司哪家好
  • 设计外包网站wordpress 登
  • 上海企业网站建设报滁州seo优化
  • 如何快速做网站关键词如何获得网站
  • 网站做查赚钱wordpress图片延迟加载
  • 如何免费制作网站?智慧团建管理系统
  • 外贸网站建站费用公司邮箱登陆
  • 传奇辅助网站怎么建设电商app软件
  • 苏州做网站哪家好360兼容模式网站错位
  • 农业产品如何建网站做优惠券网站
  • 做微课的网站有哪些方面全flash网站欣赏
  • 建设多语种网站如何做教育类网站
  • 做网站原型现成的框架wordpress 网银
  • 浙江省建设投资集团有限公司网站安徽网站优化怎么做
  • 关于动漫网站建设规划表精美大气的餐饮类企业网站
  • 四川响应式网站哪家好中铁建设集团有限公司总承包公司
  • 上海专业网站制作设计公司哪家好爱站网收录
  • 网站建设提升界面流畅程度微信小程序网站建设公司
  • 上海 网站建设google做下载网站好不好做
  • 网站建设需要的技术住房和城乡建设部网站造价
  • 做母婴网站网站首页被降权
  • 内蒙古建设工程造价信息网官方网站万网 网站托管
  • 石家庄建设局官方网站263企业邮箱官方入口
  • 晋城市公共事业建设局网站个人网站建设 毕业设计