当前位置: 首页 > 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://wiki.neutronadmin.com/news/35445/

相关文章:

  • 想开个影视网站 那有做的淄博亿泰信息技术有限公司
  • vps服务器怎么创建多个网站wordpress海外建站
  • 门户网站开发建设技术大型网站建设机构
  • 网站目录wordpress 自动内链 代码
  • 网站建设设计维片wordpress设置文件
  • 设计微信网站建设wiki wordpress
  • 江苏环泰建设有限公司网站建设治安总队网站目的
  • 宁波优化网站排名公司推荐如何看网站关键词
  • 网站怎么做抽奖企业网站ppt怎么做
  • 广元 网站建设深圳企业vi设计公司
  • 湖南郴州建设局网站黑龙江建设网官方网站特种作业
  • 微信小程序制作平台官网江苏seo和网络推广
  • 网站建设ppt方案模板下载石家庄网站制作找谁
  • 顺德建网站的公司asp网站数据库扫描
  • 网站不备案可以做淘宝联盟吗侧边导航条wordpress
  • 公司网站建设费怎么做账上海网站建设网络推广
  • 帝国行业网站模板中国免费网站服务器
  • 个性flash网站做网站需要哪些资质
  • 什么网站是最全的免费网络电视直播软件
  • 闸北微信网站建设古镇 网站建设
  • 免费网站模板带后台星月教你做网站回顾文档
  • 三明商城网站开发设计西安建设网站制作
  • 成都学生网站制作title 株洲网站建设
  • 网站建设 套餐沭阳住房城乡建设局网站
  • php网站开发技术与开源系统应用 实训指导书网站下载地址
  • 网站开发设计怎么找客户网站建设制作方法
  • 玉溪网站开发公司合肥360seo排名
  • 河北网站建设推广公司十大网页设计网站
  • 做网站php和asp哪个好关键词查询网址
  • 百度怎么做网站排名珠海市建设局网站