当前位置: 首页 > 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/46196/

相关文章:

  • 郑州做手机网站建设用flask做的网站
  • 网站广告推广技巧分享一流的免费网站建设
  • 直播教育网站建设女生学计算机应用技术可以做什么
  • 常用企业客户资料网站九亭微信网站建设
  • 打开网站弹出qq对话框杭州网站建设公司排名
  • 刷百度指数网站电子商务网站策划书
  • 商城网站要怎样设计公司网站建设费如何入账
  • 建设广告联盟网站关键词优化需要注意
  • 深圳西乡建网站云南省做网站开发的公司排名
  • 做公司网站主要需要什么网站连接数据库失败
  • 阿里云1m宽带做网站卡吗有没有手机可以看的网站免费的
  • 广州市网站建设公司兰州新区规划建设管理局网站
  • 上海地产网站建设郭仓镇做网站
  • 网站难做吗高端品牌服装有哪些
  • 做外国网用哪些网站域名注册1元
  • 齐河专业企业网站建设广东深圳市
  • 济南众筹网站建设dedecms是什么
  • 天津平台网站建设报价js 调用本地wordpress
  • 四川省建设厅网站官网个人登录网站内做动图
  • 高等学校处网站建设总结临海网站建设
  • 九寨沟网站开发的背景建网页网站
  • 天津葛沽 网站建设公司wordpress登陆
  • 哪个网站做贷款推广网站建设做网站需要多少钱?
  • 中国住房和城乡建设部网站资质查询建立网站的基本流程
  • 临沂网站建设联系方式公司网站发展策划书
  • 优秀设计方案网站加强网站建设考察交流
  • 西安免费建网站制作seo系统培训哪家好
  • 各大网站投稿百度客户管理系统登录
  • 网站设计基础什么是网络设计与电子商务
  • 怎么建立自己网站 asp网站模板怎么做