lock 关键字将语句块标记为 临界区
6页1、lock 关键字将语句块标记为临界区lock关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。此语句的形式如下:ObjectthisLock=newObject();lock(thisLock)/Criticalcodesection备注lock确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放。线程处理(C#编程指南)这节讨论了线程处理。lock调用块开始位置的Enter和块结束位置的Exit。通常,应避免锁定public类型,否则实例将超出代码的控制范围。常见的结构lock(this)、lock(typeof(MyType)和lock(myLock)违反此准则:如果实例可以被公共访问,将出现lock(this)问题。如果MyType可以被公共访问,将出现lock(typeof(MyType)问题。由于进程中使用同一字符串的任何其他代码将共享同一个锁,所以出现lock(myLock)问题。最佳做法是定义private对象来锁定,或privatestatic对象变量来保护所
2、有实例所共有的数据。下例使用线程和lock。只要lock语句存在,语句块就是临界区并且balance永远不会是负数。/statements_lock2.csusingSystem;usingSystem.Threading;classAccount/这个thisLock必须是线程共享的如果把thisLock放入方法体里面那么thisLock就不是线程共享了,就会抛出异常.privateObjectthisLock=newObject();intbalance;Randomr=newRandom();publicAccount(intinitial)balance=initial;intWithdraw(intamount)/Thisconditionwillneverbetrueunlessthelockstatement/iscommentedout:注释掉if(balance0)thrownewException(NegativeBalance);/Commentoutthenextlinetoseetheeffectofleavingout/thelockkeyword:lock
《lock 关键字将语句块标记为 临界区》由会员小**分享,可在线阅读,更多相关《lock 关键字将语句块标记为 临界区》请在金锄头文库上搜索。
2020年高考真题——理科综合(全国卷Ⅲ)+Word版含答案
2021年绝味鸭脖策划书
2021年熟食店创业方案
2021年熟食店开店策划
2021年卤菜店创业计划书
2021年周黑鸭网络营销策划方案
东大21年1月考试《现代设计方法》考核作业
谈我国行政管理效率的现状及其改观对策(论文)
单证员考试-备考辅导-复习资料:无贸易背景信用证案分析.docx
土木工程毕业生答辩自述.docx
建筑学毕业后工作状态真实写照.doc
C#代码规范(湖南大学).doc
xx区食药监局2019年工作总结及2020年工作计划
2019年中医院药物维持治疗门诊工人先锋号先进事迹
2019年度xx乡镇林长制工作总结
2019年性艾科工作计划书
2019年人才服务局全国扶贫日活动开展情况总结
关于组工信息选题的几点思考
摘了穷帽子 有了新模样
2019年某集团公司基层党支部书记培训班心得体会
2024-04-08 33页
2024-04-08 10页
2024-04-08 25页
2024-04-08 12页
2024-04-08 10页
2024-04-08 21页
2024-04-08 40页
2024-04-08 34页
2024-04-08 28页
2024-04-08 28页