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

中核华泰建设有限公司网站网址和网站的区别

中核华泰建设有限公司网站,网址和网站的区别,wordpress换ip,linux做商务网站刚刚把前两天的笔记整理完了#xff0c;发现做笔记可以加深印象。要坚持做下去#xff0c;可以学到一些细节的东西。a.今天学到一个非常试用的lock语法:lock(expression) statement_block expression代表你希望跟踪的对象#xff0c;通常是对象引用。一般地#xff0c;如果…刚刚把前两天的笔记整理完了发现做笔记可以加深印象。要坚持做下去可以学到一些细节的东西。a.今天学到一个非常试用的lock  语法:   lock(expression) statement_block    expression代表你希望跟踪的对象通常是对象引用。一般地如果你想保护一个类的实例你可以使用this如果你希望保护一个静态变量如互斥代码段在一个静态方法内部一般使用类名就可以了。而statement_block就是互斥段的代码这段代码在一个时刻内只可能被一个线程执行。 using System;using System.Collections.Generic;using System.Text;using System.Threading;namespace LockThread{    internal class Account    {        int balance;        Random r  new Random();        internal Account(int _initial)        {            balance  _initial;        }        internal int Withdraw(int _amount)        {            if(balance  0)            {                //如果balance0则抛出异常                throw new Exception(Negative Balance);            }            //下面的代码保证在当前线程修改balance的值完成之前            //不会有其他线程也执行这段代码来修改balance的值            //因此balance的值是不可能小于0的            lock(this)            {                Console.WriteLine(Current Thread:Thread.CurrentThread.Name);                //如果没有lock关键字的保护那么可能在执行完if的条件判断之后            //另外一个线程却执行了balancebalance-amount修改了balance的值            //而这个修改对这个线程是不可见的所以可能导致这时if的条件已经不成立了            //但是这个线程却继续执行balancebalance-amount所以导致balance可能小于0                if(balance  _amount)                {                    Thread.Sleep(5);                    balance  balance -_amount;                    return _amount;                } else{                    return 0;//处理事务被拒绝                }            }        }        internal void DoTransactions()        {            for(int i  0;i100; i)                Withdraw(r.Next(-50, 100));        }  }     class Program    {        static internal Thread[] threads  new Thread[10];        static void Main(string[] args)        {            Account acc  new Account(0);            for (int i  0; i  10; i)            {                Thread t  new Thread(new ThreadStart(acc.DoTransactions));                t.Name  i.ToString();                threads[i]  t;            }            for (int i  0; i  10; i)            {                threads[i].Start();            }            Console.ReadLine();        }    }} b.还有一个Moniter对象是用来监视对象的......Queue oQueuenew Queue();......Monitor.Enter(oQueue);......//现在oQueue对象只能被当前线程操纵了Monitor.Exit(oQueue);//释放锁 上面表示oQueue这个对象只有一个线程可以操纵只有当Mointor.Exit才可以被其它线程所操纵转载于:https://www.cnblogs.com/DKSoft/articles/569123.html
http://wiki.neutronadmin.com/news/147763/

相关文章:

  • 网站怎么做身份验证哪里建设网站比较好
  • 鞍山外国网站制作网站开发 软件开发
  • 网站做优化有什么好处wordpress用户登陆
  • wordpress爱视频优化方案英语必修二电子版
  • 网站建设开发熊掌号阿里巴巴电子商务网站建设目的
  • 唐山网站制作方案线上网站开发系统流程图
  • 网站优化个人工作室帮人管理网站做淘宝客
  • p2p网站开发方法南京app外包
  • 北京建设管理有限公司官网seo关键词排名优
  • 自然堂官方网站建设北京做网站那家好
  • 零食网站色调搭配怎麽做北京怎样做网站推广
  • 上海跨境电商网站制作佛山网站优化推广方案
  • 永康网站开发公司公司网站推广技巧
  • 宝塔怎么创建网站手机网站推荐几个
  • 一级域名免费网站怎么申请成都网站推广营销设计
  • 企业门户网站静态模板wordpress设计
  • 齐齐哈尔企业网站排名优化wordpress忘记账号密码
  • 自媒体平台网站开发杭州电子商务网站建设公司
  • 苏州市优化网站推广哪家好游戏网站风控怎么做
  • 如何快速模仿一个网站怎么删除一个wordpress
  • 惠州建设局网站泉做网站的公司
  • 一般建站需要多少钱wordpress积分
  • 创建网站公司 徐州岳塘区建设路街道网站
  • 上海工商网站官网wordpress语言切换 seo
  • 网上接工程活做的网站巨量引擎广告投放平台代理
  • 邯郸网站建设网络公司五金公司网站模板
  • js网站建设苏州建网站的公司哪家口碑好
  • 如果自己做网站卖设备厦门市建设局官方网站
  • 国家企业信息查询网站老君山旅游网页设计模板
  • 网站建设基本流程前期深圳做网站网络公司怎么样