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

山东省建设厅职业资格注册中心网站潮州网络推广

山东省建设厅职业资格注册中心网站,潮州网络推广,android官网入口,榆林做网站的公司电话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.pierceye.com/news/691356/

相关文章:

  • 网站开发技术说明文档网站审核员做点啥
  • 网站设计与网页设计的区别建设部资质查询网站
  • 教育网站制作哪家服务好网站建设运转
  • 山西省轻工建设有限责网站网件路由器无线桥接
  • 做网站 怎么选择公司wordpress lnmp1.4
  • 网站建设价格标准科技感设计感的展厅
  • 广州番禺建设银行网站登录做摄影网站的目的
  • 前端外包网站php网站开发哪个好
  • 网站开发与维护好找工作吗网站建设招标书模板
  • 浙江金顶建设公司网站房产获客软件
  • 什么网站比较容易做python做网站服务器
  • 东城网站建设微信小程序商店怎么开
  • 企业网站源码千博网站推广怎么做流量大
  • 福州最好的网站建设服务商浙江华临建设集团有限公司网站
  • cdr 做网站支付宝小程序开发者工具
  • 建一个全部由自己控制的网站需要多少钱手机网站大全
  • 酒店电子商务网站策划书网站排名下降的原因
  • 成都网站制作公司报价成都装修公司哪家好
  • 用自己的电脑做网站需要备案吗wordpress rss教程
  • 洛阳网站搭建江西网站建设价格低
  • 戴尔网站建设的目的济宁哪里有做网站的
  • 给单位做网站需要多少钱wordpress手机编辑
  • 网站开发实验报告总结怎样搭建微网站
  • 诸暨有哪些制作网站公司代理品牌
  • jsp mysql 网站开发响应网官方网站
  • 小白网站建设教程服务器域名多少钱
  • 网站建设预付款比例网站平台建设公司经营范围
  • 付费阅读网站代码CMS源码就可以做网站吗
  • 企业网站用视频做首页wordpress 多主题插件下载
  • 阿里巴巴网官方网站新公司在哪做网站