自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

无名

微粒尘埃

  • 博客(8)
  • 资源 (2)
  • 收藏
  • 关注

转载 C#线程同步(5)- 信号量 Semaphore

这次终于不用说太多话了,某人看这一系列博客的反应总是“好长……”,以至于都不愿意看下去。在这一系列开篇之前,本想应该一、两个星期就能解决,结果每篇总要花上一星期左右。总想把涉及的所有方面都讲得尽量清楚明白,希望容易被看懂。于是总是不断陷于考虑如何串联各处的关系、要写个怎样的例子、细细考量MSDN的每一句话是否妥当……能做的无用的事情也就这点儿,所以还是努力地督促着自己要尽快完成。  呵呵,还是回到正题。信号量也算是个鼎鼎大名的东西吧,提到互斥量总会说起信号量。二者的差别很简单,互斥量、临界区是用于保护“一

2021-07-06 22:34:38 435

转载 C#线程同步(4)- 通知&EventWaitHandle一家

WaitHandle一家在前一篇我们已经提到过Mutex和本篇的主角们直接或间接继承自WaitHandle:Mutex类,这个我们在上一篇已经讲过。EventWaitHandle 类及其派生类AutoResetEvent 和 ManualResetEvent,这是本篇的主角。Semaphore 类,即信号量,我们下一篇再讲。  WaitHandle提供了若干用于同步的方法。上一篇关于Mutex的blog中已经讲到一个WaitOne(),这是一个实例方法。除此之外,WaitHandle另有3个用于同

2021-07-06 22:33:52 608

转载 C#线程同步(3)- 互斥量 Mutex

什么是Mutex“mutex”是术语“互相排斥(mutually exclusive)”的简写形式,也就是互斥量。互斥量跟临界区中提到的Monitor很相似,只有拥有互斥对象的线程才具有访问资源的权限,由于互斥对象只有一个,因此就决定了任何情况下此共享资源都不会同时被多个线程所访问。当前占据资源的线程在任务处理完后应将拥有的互斥对象交出,以便其他线程在获得后得以访问资源。互斥量比临界区复杂,因为使用互斥不仅仅能够在同一应用程序不同线程中实现资源的安全共享,而且可以在不同应用程序的线程之间实现对资源的安全共

2021-07-06 22:32:44 537

转载 C#线程同步(2)- 临界区&Monitor

监视器(Monitor)的概念可以在MSDN(http://msdn.microsoft.com/zh-cn/library/ms173179(VS.80).aspx)上找到下面一段话:与lock关键字类似,监视器防止多个线程同时执行代码块。Enter方法允许一个且仅一个线程继续执行后面的语句;其他所有线程都将被阻止,直到执行语句的线程调用Exit。这与使用lock关键字一样。事实上,lock 关键字就是用Monitor 类来实现的。例如:lock(x){DoSomething();}这等效于

2021-07-06 22:31:35 391

转载 C#线程同步(1)- 临界区&Lock

预备知识:线程的相关概念和知识,有多线程编码的初步经验。一个机会,索性把线程同步的问题在C#里面的东西都粗略看了下。第一印象,C#关于线程同步的东西好多,保持了C#一贯的大杂烩和四不象风格(Java/Delphi)。临界区跟Java差不多只不过关键字用lock替代了synchronized,然后又用Moniter的Wait/Pulse取代了Object的Wait/Notify,另外又搞出来几个Event……让人甚是不明了。不管那么多,一个一个来吧。临界区(Critical Section)是一段在同

2021-07-06 22:29:42 437

原创 C语言在不增加第三个变量的情况下互换整形值

C语言在不增加第三个变量的情况下互换整形值思路&代码1、常规方法就是新增临时变量,代码#include <stdio.h>int main(){ int a = 3; int b = 4; printf("交换前a和b:\n"); printf("a = %d\n", a); printf("b = %d\n", b); int temp = 0; //交换 temp = a; a = b; b =

2020-11-04 22:26:34 284

原创 Sql Server DB 转移到MySql DB的方法

菜鸟处女作欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown

2020-05-20 16:50:41 282

原创 AspNet Core Api Code First Notice Items

AspNet Core Api Code First Notice Items启动项目必须设置为当前Web api项目1、更新dotnet工具dotnet tool update --global dotnet-ef --version 3.0.0-preview7.19362.62、Add-Migration initial -c AppDbContext3、dotnet ef migrations script --verbose -i --project “D:\ReferenceInfor

2020-05-20 16:17:47 152

C# 进销存管理系统,自己根据需求写的,用的数据库Sqllite

C# 进销存管理系统,自己根据需求写的,用的数据库Sqllite,感兴趣的下出来玩一玩,可以直接运行,无需安装数据库等资源!

2020-05-21

用C#实现的P2P Socket源代码

C#编写的P2P Socket,实现内网穿透,匿名网络资源的获取等,代码异步实现各种操作,供大家学习参考

2020-04-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除