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

郑州建筑公司网站建设互联网企业推广

郑州建筑公司网站建设,互联网企业推广,万能素材库视频,百度手机端排名lock 关键字将语句块标记为临界区#xff0c;方法是获取给定对象的互斥锁#xff0c;执行语句#xff0c;然后释放该锁。此语句的形式如下#xff1a; 以带有颜色区分的格式查看复制到剪贴板打印Object thisLock new Object(); lock (thisLock) {// Critical code section… lock 关键字将语句块标记为临界区方法是获取给定对象的互斥锁执行语句然后释放该锁。此语句的形式如下 以带有颜色区分的格式查看复制到剪贴板打印 Object thisLock new Object(); lock (thisLock) {// Critical code section.}Object thisLock new Object(); lock (thisLock) {// Critical code section.} 备注 lock 关键字可确保当一个线程位于代码的临界区时另一个线程不会进入该临界区。如果其他线程尝试进入锁定的代码则它将一直等待即被阻止直到该对象被释放。 线程处理C# 和 Visual Basic 这节讨论了线程处理。 lock 关键字在块的开始处调用 Enter而在块的结尾处调用 Exit。 通常应避免锁定 public 类型否则实例将超出代码的控制范围。 常见的结构 lock (this)、 lock (typeof (MyType)) 和 lock (myLock) 违反此准则 如果实例可以被公共访问将出现 lock (this) 问题。 如果 MyType 可以被公共访问将出现 lock (typeof (MyType)) 问题。 由于进程中使用同一字符串的任何其他代码都将共享同一个锁所以出现 lock(“myLock”) 问题。 最佳做法是定义 private 对象来锁定, 或 private static 对象变量来保护所有实例所共有的数据。 示例 下面演示在 C# 中使用未锁定的线程的简单示例。 //using System.Threading;class ThreadTest{public void RunMe(){Console.WriteLine(RunMe called);}static void Main(){ThreadTest b new ThreadTest();Thread t new Thread(b.RunMe);t.Start();}}// Output: RunMe called //using System.Threading;class ThreadTest{public void RunMe(){Console.WriteLine(RunMe called);}static void Main(){ThreadTest b new ThreadTest();Thread t new Thread(b.RunMe);t.Start();}}// Output: RunMe called 下例使用线程和 lock。 只要 lock 语句存在语句块就是临界区并且 balance 永远不会是负数。 // using System.Threading;class Account{private Object thisLock new Object();int balance;Random r new Random();public Account(int initial){balance initial;}int Withdraw(int amount){// This condition will never be true unless the lock statement// is commented out:if (balance 0){throw new Exception(Negative Balance);}// Comment out the next line to see the effect of leaving out // the lock keyword:lock (thisLock){if (balance amount){Console.WriteLine(Balance before Withdrawal : balance);Console.WriteLine(Amount to Withdraw : - amount);balance balance - amount;Console.WriteLine(Balance after Withdrawal : balance);return amount;}else{return 0; // transaction rejected}}}public void DoTransactions(){for (int i 0; i 100; i){Withdraw(r.Next(1, 100));}}}class Test{static void Main(){Thread[] threads new Thread[10];Account acc new Account(1000);for (int i 0; i 10; i){Thread t new Thread(new ThreadStart(acc.DoTransactions));threads[i] t;}for (int i 0; i 10; i){threads[i].Start();}}} 转载于:https://www.cnblogs.com/kingangWang/archive/2011/12/05/2276815.html
http://www.sadfv.cn/news/247740/

相关文章:

  • 龙之向导外贸网站网址临沂做网络优化的公司
  • 网站域名dns小白怎么建设网站
  • 网站建设的服务怎么样佛山网站建设网站
  • 中小型企业网站开发免费网络加速
  • 网站建设大题点击未来网站建设
  • 成都设计网站的公司哪家好如何处理并发量大的购物网站
  • 建一个设计网站要多少钱石家庄有那些网站开发公司
  • 自学搭建网站网站推广目标计划
  • 葡京网站做中间商网站分析一般要重点做哪几项内容
  • 外贸网站设计公司wordpress 首页 矩阵
  • 企业网站开发所需要的模块八里河风景区网站建设设计概述
  • 建设网站的本质网站开发一般学多久
  • 六安房产网优化营商环境个人心得体会
  • 利于seo的网站设计大连开发区信息服务平台
  • 一站式网站建设报价网页设计与制作用什么软件做
  • 做网站必须会php吗seo属于什么职位类型
  • 建企业网站公司hexo导入wordpress
  • 沈阳市建设工程项目管理中心网站旅游网站的建设方式
  • 个人网站做百度竞价flash网页制作实例
  • 关于服装的网站规划与设计百度做地图的网站
  • 有域名了网站怎么做wordpress插件盗版
  • 建设网站建站公司开发公司移交物业必备资料
  • 江苏建设培训网站安卓盒子 做网站
  • 沈阳市建设监理协会网站网站建设seo规范
  • 免费设计图网站微信公众号怎么创建要多少钱
  • 跨境电商建站公司在线网站建设活动
  • 做娱乐网站做非遗网站的原因
  • 建站网站建设公司果动
  • 西安网站建设畅网企业vi是什么意思
  • 开发做游戏的网站2008 iis7添加网站