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

医疗器械类网站前置审批网站临时域名

医疗器械类网站前置审批,网站临时域名,wordpress翻译教程,wordpress wp_signon欢迎来到《小5讲堂之知识点实践序列》文章#xff0c;大家好#xff0c;我是全栈小5。 这是2024年第3篇文章#xff0c;此篇文章是C#知识点实践序列文章#xff0c;博主能力有限#xff0c;理解水平有限#xff0c;若有不对之处望指正#xff01; 本篇在Lock锁定代码块基… 欢迎来到《小5讲堂之知识点实践序列》文章大家好我是全栈小5。 这是2024年第3篇文章此篇文章是C#知识点实践序列文章博主能力有限理解水平有限若有不对之处望指正 本篇在Lock锁定代码块基础上进行简单解决并发问题确保不会出现重复数据。 目录 前言实践场景用户编码重复效果代码 用户编码唯一效果代码 并发基本概念 前言 前两篇文章已经回顾基本概念一级Lock锁定代码块的实践例子以及简单了解了多线程的基本信息。 实践场景 有一个用户注册的功能通过简单并发测试在不进行索引等情况下对比加锁和不加锁用户表重复记录情况 用户编码重复 在并发情况下如果方法代码和数据库没有做唯一处理那么进行用户注册时用户编码重复概率是很大的。 下面是逻辑是设置3个异步方法模拟3个并发访问他们之间就极有可能是同时执行同一个方法用户编码就可能会重复。 效果 重复数据 从下图可以知道GZ0008、GZ0018、GZ00021这就会出现重复了相对于用户编码就不是唯一也就无法满足实际场景。 代码 namespace XxxData {/// summary/// 解决数据重复/// /summarypublic partial class LockUser : Form{public LockUser(){InitializeComponent();CheckForIllegalCrossThreadCalls false;}private void Form1_Load(object sender, EventArgs e){}int userCodeIndex 0;private void TargetData(){userCodeIndex 1;txtInfo.AppendText($GZ{userCodeIndex.ToString().PadLeft(5, 0)}\r\n);}private void btnA_Click(object sender, EventArgs e){// 模拟并发// 用户并发a区域Task.Run(() {for(int i 0; i 10; i){TargetData();Thread.Sleep(10);}});// 用户并发b区域Task.Run(() {for (int i 0; i 10; i){TargetData();Thread.Sleep(10);}});// 用户并发c区域Task.Run(() {for (int i 0; i 10; i){TargetData();Thread.Sleep(10);}});}} }用户编码唯一 基于用户编码唯一原则那么解决的方法有很多这里我们通过锁定代码块的方式来解决也就是同步机制来解决。 同步机制的最大特点就是即使有多个请求同一时间调用同一个方法它也会遵循一个一个执行完从而用户编码也只会顺序叠加。 效果 方法部分锁 int userCodeIndex 0; private void TargetData(int num) {txtInfo.AppendText($用户【{num}】进入方法等待添加\r\n);lock (this){userCodeIndex 1;txtInfo.AppendText($GZ{userCodeIndex.ToString().PadLeft(5, 0)}\r\n\r\n);} }方法全部锁 int userCodeIndex 0; private void TargetData(int num) {lock (this){txtInfo.AppendText($用户【{num}】进入方法等待添加\r\n);userCodeIndex 1;txtInfo.AppendText($GZ{userCodeIndex.ToString().PadLeft(5, 0)}\r\n\r\n);} }代码 namespace XxxData {/// summary/// 解决数据重复/// /summarypublic partial class LockUser : Form{public LockUser(){InitializeComponent();CheckForIllegalCrossThreadCalls false;}private void Form1_Load(object sender, EventArgs e){}int userCodeIndex 0;private void TargetData(int num){lock (this){txtInfo.AppendText($用户【{num}】进入方法等待添加\r\n);userCodeIndex 1;txtInfo.AppendText($GZ{userCodeIndex.ToString().PadLeft(5, 0)}\r\n\r\n);}}private void btnA_Click(object sender, EventArgs e){// 模拟并发// 用户并发a区域Task.Run(() {for(int i 0; i 10; i){TargetData(i 1);Thread.Sleep(10);}});// 用户并发b区域Task.Run(() {for (int i 10; i 20; i){TargetData(i 1);Thread.Sleep(10);}});// 用户并发c区域Task.Run(() {for (int i 20; i 30; i){TargetData(i 1);Thread.Sleep(10);}});}} }并发基本概念 C# 并发与方法和 API 接口请求之间有一些关联和区别 1.并发方法调用在 C# 中可以使用多线程或任务并发地调用方法。这种方式适用于需要同时执行多个方法并获得结果的场景。通过多线程或任务的并发可以提高系统的响应能力和吞吐量。 2.API 接口请求API 接口请求是通过网络协议发送请求获取相应的资源或执行操作。在 C# 中可以使用异步或并发技术来发起多个 API 请求以提高性能和并发处理能力。常见的方式包括使用异步/等待模式、多线程或任务并发等。 3.并发控制并发方法调用和 API 接口请求都需要考虑并发控制的问题。在多个线程或任务同时访问共享资源时可能会出现竞态条件等并发问题。C# 中提供了锁、互斥体、信号量等机制来实现并发控制以确保共享资源的安全访问。 总结温故而知新不同阶段重温知识点会有不一样的认识和理解博主将巩固一遍知识点并以实践方式和大家分享若能有所帮助和收获这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。
http://www.w-s-a.com/news/709335/

相关文章:

  • 金融网站策划方案网站开发表格整体页面居中
  • 句容本地网站黄石下陆区建设局网站
  • 免费网站服务陕西省咸阳市建设银行网站
  • 网站建设活动计划做网站意义
  • 莱芜新闻主持人名单seo sem 外贸建站 网站建设 文化墙设计
  • 易语言可以做网站嘛赣州网站建设开发
  • 网站建设规范布局网站建设费往什么科目
  • 乐清手机网站设计哪个汽车网站汽贸店免费做
  • 网站建设课程总结报告推广软文
  • 企业网站哪里可以做烟台seo网站推广
  • 怎样建设网站优化珠海网站建设开发
  • 泰兴住房和城乡建设厅网站福州app开发
  • 免费制作公司网站seo前线
  • 导购网站怎么推广有网站源码怎么搭建网站
  • 网站开发问题杭州制作公司网站
  • 网站推广seo是什么wordpress 去除顶部
  • 建筑学不会画画影响大吗电子商务沙盘seo关键词
  • 重庆网站建设找承越上海建设工程招投标网
  • 网站建设四个步骤下单的网站建设教程
  • 网站建设合同的验收表响应式网站建设哪家好
  • 手机网站建设视频长沙百家号seo
  • 网站未备案怎么访问网站开发前端需要学什么
  • 正黄集团博弘建设官方网站wordpress设置固定链接和伪静态
  • wordpress 建网站视频如何实现网站生成网页
  • 杭州品牌网站建设推广个人的网站建设目标
  • 济南有哪些网站是做家具团购的贸易公司自建免费网站
  • wap网站psd成立公司在什么网站
  • 网站建设婚恋交友聊城网站建设费用
  • 沈阳网站建设联系方式尉氏县金星网架公司
  • 医院网站建设实施方案基础微网站开发信息