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

wordpress只显示置顶文章优化方案范文

wordpress只显示置顶文章,优化方案范文,多语言企业网站开发,做网站课程大家好#xff0c;我是全栈小5#xff0c;欢迎来到《小5讲堂之知识点实践序列》文章。 2024年第1篇文章#xff0c;此篇文章是C#知识点实践序列之Lock知识点#xff0c;博主能力有限#xff0c;理解水平有限#xff0c;若有不对之处望指正#xff01; 本篇验证Lock锁定代… 大家好我是全栈小5欢迎来到《小5讲堂之知识点实践序列》文章。 2024年第1篇文章此篇文章是C#知识点实践序列之Lock知识点博主能力有限理解水平有限若有不对之处望指正 本篇验证Lock锁定代码执行情况锁定外上下代码和锁定区域的代码执行情况。 目录 基本概念锁流程注意点 实践场景锁定代码块效果代码 疑问解答消息队列 常见报错 基本概念 在 C# 中锁lock是一种用于实现多线程同步的机制。 它可以用来确保在任何给定时间只有一个线程可以访问被锁定的代码块以避免数据竞争和并发访问的问题。 流程图 锁流程 1、创建一个共享资源在多个线程之间需要安全地访问该资源。 2、使用 lock 关键字来定义一个临界区域即需要同步的代码段将要访问共享资源的代码放置在该临界区域内。 3、在进入临界区域之前线程会尝试获取锁。如果锁已经被其他线程持有则当前线程会阻塞直到锁释放。 4、当线程得到锁之后它可以安全地访问临界区域内的代码执行完毕后释放锁以便其他线程可以继续执行。 注意点 1、锁定的对象应该是所有线程都可以访问到的共享对象常见的做法是使用一个私有变量作为锁对象。 2、锁的范围应该尽量小只锁定必要的代码区域以避免不必要的线程阻塞。 3、锁的使用应遵循一致的原则即在所有访问共享资源的地方都要使用同一个锁对象。这样可以确保所有线程都按顺序获取锁避免死锁的发生。 实践场景 通过实际例子来验证知识点的基本概念这样能够加深对知识点的理解只有对知识点的理解足够深才能更好的编写高质量代码和实现高效逻辑代码。 锁定代码块 以下是展示代码块被锁定但方法内其他代码仍然按顺序直接执行。 比如同时进行操作点击用户a、用户b、用户c、三个按钮然后都会调用同一个方法方法内只锁定统计数量并且锁定3秒其他代码没有锁定。 效果 从以下界面效果可以知道没有被锁定代码是会先执行然后锁定区域先执行用户a然后锁定3秒后再执行用户b依此类推。 代码 namespace XxxData {public partial class Form1 : Form{public Form1(){InitializeComponent();CheckForIllegalCrossThreadCalls false;}private void Form1_Load(object sender, EventArgs e){}private int visitorCount 0;private void TargetData(string user){txtInfo.AppendText(${user}{DateTime.Now.ToString(yyyy-MM-dd HH:mm:sss)}\r\n);lock (this){visitorCount 1;lbVisitorCount.Text $访问用户数{visitorCount};Thread.Sleep(3 * 1000);txtInfo.AppendText(${user}执行完毕{DateTime.Now.ToString(yyyy-MM-dd HH:mm:sss)}\r\n);}}private void btnA_Click(object sender, EventArgs e){Task.Run(() {TargetData(用户a);});}private void btnB_Click(object sender, EventArgs e){Task.Run(() {TargetData(用户b);});}private void btnC_Click(object sender, EventArgs e){Task.Run(() {TargetData(用户c);});}} }疑问解答 消息队列 Lock锁定代码块是否属于一种消息队列多个访问同时进来只能排队一个一个访问。A执行完Lock方法内的代码才允许下一个执行进来。 并不是C# 的 lock 关键字并不是一种消息队列。它是一种线程同步机制用于在多线程访问共享资源时确保同一时间只有一个线程可以进入被锁定的代码块。 当多个线程同时访问含有 lock 代码块的区域时只有一个线程能够获取到锁进入临界区域执行代码其余线程则被阻塞并排队等待锁的释放。一旦获取到锁的线程执行完毕释放锁后等待队列中的下一个线程会获取锁依此类推。 这种机制确保了同一时间只有一个线程能够访问共享资源避免了数据竞争和并发访问的问题。但请注意锁并不提供先后顺序的保证即不保证等待队列中线程按照某种特定的顺序获取锁。 消息队列是另一种机制用于线程或进程间的通信。它允许将消息从一个线程发送到另一个线程接收线程可以按照消息的先后顺序处理消息实现异步通信和任务分发。而 lock 关键字只是提供了互斥访问的能力并不涉及消息的发送和接收。 常见报错 ##跨线程访问 由于label控件是在主线程在Task线程默认是无法访问 解决方法在异步方法前面增加如下代码 CheckForIllegalCrossThreadCalls false;总结温故而知新不同阶段重温知识点会有不一样的认识和理解博主将巩固一遍知识点并以实践方式和大家分享若能有所帮助和收获这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。
http://www.zqtcl.cn/news/132478/

相关文章:

  • 浅谈电子商务网站建设产品推广方案怎么做
  • 做ppt的图片素材网站北京网站制作南昌
  • 全网视频合集网站建设宏基陆通工程建设有限公司网站
  • 极捷号网站建设wordpress搬家500错误
  • 网站加友情链接app开发培训课程
  • 济南网站排名优化报价平台推广话术
  • 自己做的创意的网站短链接生成站长工具
  • 爱站网是怎么回事网站语音转写怎么做
  • 一级a做爰片免播放器网站扬中门户网
  • 舆情网站大全模板网站有哪些在哪里下载
  • 新网站关键词怎么优化深圳公司网站推广
  • 新加坡购物网站排名英文版wordpress安装
  • 哪个网站做ppt能赚钱企查查企业信息
  • 学校建设网站的意义wordpress 鸟
  • 一个ip做网站网站建设基础课件
  • 包装设计十大网站连云港网站建设开发
  • 川沙网站建设网站推广服务外包有哪些渠道
  • 哪些网站可以做招商广告手机怎么创网站免费
  • 换物网站为什么做不起来网站开发工具的功能包括
  • 引导式网站君和网站建设
  • 西柏坡门户网站建设规划书自己做照片书的网站
  • 做网站横幅的图片多大公司做自己的网站平台台
  • 百度网站建设工资给城市建设提议献策的网站
  • 如何进入网站管理页面维护网站需要多少钱
  • 深圳住房和城乡建设局网站阿里云学生免费服务器
  • 如何做的网站手机可以用吗绵阳优化网站排名
  • 营销网站建设大全wordpress wp_register
  • 公司做年审在哪个网站网络seo专员招聘
  • 宿州网站建设费用网站快速建设入门教程
  • 怎么自己做网站加盟网站建设意义模板