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

成华区微信网站建设公司小程序是什么

成华区微信网站建设公司,小程序是什么,wordpress api 插件,学做美食网站【 声明#xff1a;版权所有#xff0c;欢迎转载#xff0c;请勿用于商业用途。 联系信箱#xff1a;feixiaoxing 163.com】 多线程编程一般都会涉及到锁的时候#xff0c;很多人可能觉得很意外#xff0c;为什么会需要这么一个锁。本质上#xff0c;这主要还是因为多线…【 声明版权所有欢迎转载请勿用于商业用途。 联系信箱feixiaoxing 163.com】 多线程编程一般都会涉及到锁的时候很多人可能觉得很意外为什么会需要这么一个锁。本质上这主要还是因为多线程的执行中本身一部分逻辑并不是原子操作导致的。有一个池塘喂鱼的例子最为经典。假设池塘有两个人同时去喂鱼每一个人喂鱼之前会先看一下池塘边上的牌子。假设牌子是红色的代表已经喂过了假设牌子是绿色的则代表鱼还没有喂过。鱼本身只能吃一顿如果连续喂的话那么鱼可能会撑死。 现在就会出现这么一个情况就是第一个人去喂鱼但是他还没有来得及翻牌子的时候第二个人来继续喂鱼。他一看鱼牌子是绿色的还没有喂那就就会选择继续投料。而他投料的同时并不知道第一个人之前已经投喂过了。所以这个时候鱼就会被撑死了。 所以为了解决这个问题os一般会提供一个锁的机制对于锁里面的操作一定是不能打断的。只有所有操作都完成之后才会释放自己的锁机制。为了解释锁是怎么使用的以及说明如果不用锁的话究竟有什么样的坏处可以通过c# wpf编写一个demo进行说明下。 1、设置界面 界面还是只有一个按钮和一个textbox。按钮下去的时候有两个thread同时递增1000万次查看两个thread递增之后总的数据次数是不是2000万。 Window x:ClassWpfApp.MainWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:sysclr-namespace:System;assemblymscorlibxmlns:localclr-namespace:WpfAppmc:IgnorabledTitleLockSimulationDemo Height480 Width550GridStackPanelButton x:Namebutton ContentStart processing ClickStartButton_Click Height40 Margin5,40/TextBox x:NameResult TextWrappingWrap VerticalScrollBarVisibilityAuto HorizontalScrollBarVisibilityAuto Height200 Margin5//StackPanel/Grid /Window相关界面显示如下 2、代码编写 代码编写主要就是按钮的回调函数。回调函数中主要使用了Thread类、ThreadStart类这两个。线程注册函数是WorkerThreadMethod。创建好两个thread之后就可以将他们start开始执行。 在线程注册函数中会各循环1000万次。之所以会循环这么多次是因为循环次数多了才能看到锁的效果。没有锁的话最终的累加次数不一定是2000万反之有了锁肯定是2000万这就是锁的用处所在。 using System; using System.Windows; using System.Windows.Controls; using System.Windows.Media; using System.Windows.Media.Animation; using System.Threading;namespace WpfApp {public partial class MainWindow : Window{private int total 0;private readonly object _lockObject new object(); // lock for synchronization// construct functionpublic MainWindow(){InitializeComponent();}// button invoke functionprivate void StartButton_Click(object sender, RoutedEventArgs e){Thread newThread1 new Thread(new ThreadStart(WorkerThreadMethod));Thread newThread2 new Thread(new ThreadStart(WorkerThreadMethod));Result.Text ;total 0;button.IsEnabled false;newThread1.Start();newThread2.Start();}// thread entry functionprivate void WorkerThreadMethod(){for (int i 0; i 10000000; i){lock (_lockObject) // critical section{total 1;}}Application.Current.Dispatcher.Invoke(() {Result.AppendText(total.ToString() \n);button.IsEnabled true;});}} }3、实验和验证 验证的话编译没有啥问题直接单击按钮即可。同时这个按钮是可以连续单击即一次结果出来之后可以反复测试的。中间测试的过程中可以通过注释掉lock代码的方式判断注释前后运行结果有没有差异。
http://www.yutouwan.com/news/35445/

相关文章:

  • 建立一个个人网站临西网站建设费用
  • 网站开发工程师面试问哪些问题网站需要实名认证
  • p2p理财网站开发流程图深圳建设营销型网站
  • 邢台网站建设要多少钱杭州建设信用网官网
  • 做汽车网站费用网站打开慢怎么回事啊
  • 盘龙区网站建设外包专门做瓷砖的网站
  • 外文网站开发WordPress FCKEditor
  • 江津集团网站建设建设企业网站登录901
  • 网站建设栏目层级用PS怎么做网站界面
  • 企业做网站的步骤与做网站注意事项手机网站 分享按钮
  • 俄语网站制作国产wordpress模板
  • 学校网站建设规划网页制作与网站建设英文翻译
  • 医院网站加快建设方案广州网络平台
  • 购物网站 开店重庆梁平网站建设公司
  • 网站建设 9awordpress 免备案cdn
  • 聊城网站建设设计简易手机网站开发
  • 找做cad彩拼的网站网站建设管理考核办法
  • 网站做加QQ群链接易记域名网站大全
  • 秦皇岛网站建设找汉狮网站建设的点子
  • 网站开发 相册wordpress优惠券发放插件
  • 织梦协会网站模板外贸网站建设 杭州
  • wap网站源码下载广州市招投标网站
  • 商洛网站建设公司电话wordpress直接购买
  • 中邦建设工程有限公司官方网站上海莱布拉网站建设
  • php学多久可以做网站网站推广做百度还是360
  • 山东农业大学学风建设专题网站中英版网站怎么做
  • wordpress建企业网站设置简述企业建设网站的必要性
  • 网站小程序开发公司家装公司加盟哪个公司好
  • 安徽 建设 招聘信息网站西安计算机培训机构
  • 佛山外贸网站建设资讯wordpress留言板自定义