Mutex 类 构造函数和方法 系统只能运行一个程序的实例 解释一下上面的示例 接替运行 进程同步示例 另外 Mutex 类 Mutex 中文为互斥,Mutex 类叫做互斥锁。它还可用于进程间同步的同步基元。 互斥锁(Mutex),用于多线程中防止两条线程同时对一个公共资源进行读写的机制。 [......] 继续阅读
Mutex 类 构造函数和方法 系统只能运行一个程序的实例 解释一下上面的示例 接替运行 进程同步示例 另外 Mutex 类 Mutex 中文为互斥,Mutex 类叫做互斥锁。它还可用于进程间同步的同步基元。 互斥锁(Mutex),用于多线程中防止两条线程同时对一个公共资源进行读写的机制。 [......] 继续阅读
本章主要讲述多线程竞争下的原子操作。 知识点 竞争条件 线程同步 CPU时间片和上下文切换 阻塞 内核模式和用户模式 Interlocked类 1,出现问题 2,Interlocked.Increment() 3,Interlocked.Exchange() 4,Interlocked.Co[......] 继续阅读
1,Lock lock 原型 lock 编写实例 2,Monitor 怎么用呢 解释一下 示例 设置获取锁的时效 C# 中,可以使用 lock 关键字和 Monitor 类来解决多线程锁定资源和死锁的问题。 官方解释:lock 语句获取给定对象的互斥 lock,执行语句块,然后释放 l[......] 继续阅读
下面是一张图片的 base64 编码 下面代码是很久前写的了,暂时不改,为了速度,请修改字符串操作部分的代码。 /// /// base64转为图片存储到本地 /// /// /// ///[......]继续阅读
解决方法: 使用 RandomNumberGenerator 来生成随机数。 https://docs.microsoft.com/zh-cn/dotnet/api/system.security.cryptography.randomnumbergenerator?view=netcore-3.1[......] 继续阅读
目录 1,获取当前线程信息 2,管理线程状态 2.1 启动与参数传递 2.1.1 ParameterizedThreadStart 2.1.2 使用静态变量或类成员变量 2.1.3 委托与Lambda 2.2 暂停与阻塞 2.3 线程状态 2.4 终止 2.5 线程的不确定性 2.6 线程优[......] 继续阅读
文章内容有知识点提示时: 提示:1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111[......] 继续阅读
可以在容器中执行命令,查看到信息 /egrep '^1:.+(docker|lxc|kubepods)' /proc/1/cgroup 那么我们可以通过读取文件的方法,去分析是否在容器中运行。 代码如下 /// <summary>[......]继续阅读
C/C++、C#、JAVA(三):字符串操作 目录 C/C++、C#、JAVA(三):字符串操作 定义字符串 捕捉输入和输出 等值比较 字符串操作 字符串搜索 字符串提取、插入、删除、替换 定义字符串 C 语言中,没有字符串对象,是使用 char [] 来存储字符串。 char a[] =[......]继续阅读
基本类型和转换操作 数据类型 C语言中的基本类型如下。 类型 存储大小 值范围 char 1 字节 -128 到 127 或 0 到 255 unsigned char 1 字节 0 到 255 signed char 1 字节 -128 到 127 int 2 或 4 字[......] 继续阅读
代码默认模板 编译性高级编程语言中,几乎每种语言,都有个静态的 main 方法作为程序启动入口,每种语言都有其编写规范。为了学习 C/C++、C#、JAVA四种语言,我们要先从默认代码模板中,慢慢摸索学习。 约定: 我们常常可以看到 函数、方法这两个词,很多人对此进行了混用。 方法,就是 void[......] 继续阅读
支持 Windows 和 Linux var macAddr = ( from nic in NetworkInterface.GetAllNetworkInterfaces()[......]继续阅读
var authorizeData = endpoint?.Metadata.GetOrderedMetadata<IAuthorizeData>() ?? Array.Empty<IAuthorizeDat[......]继续阅读
C# 中有常见的以以下名称为后缀的类型,笔者总结了一下大概用途。 Extensions Helper 或 Helpers Scheme Builder Context Factory Provider Options Defaults Extensions 此类型用于实现拓展函数,类名后加上 E[......] 继续阅读
分析器名为 miniprofiler,官网地址为 https://miniprofiler.com/dotnet/ 可以直接放到代码中,发布后运行测试。 支持以下框架的性能分析: ASP.NET ASP.NET Core Console .NET Console .NET Core EF6 EF[......] 继续阅读
1,判断类型 判断是否某种类型 1.1 类和委托 1.1.1 判断是否类型或委托 1.1.2 判断是否泛型 1.1.3 泛型的参数名称和泛型限定 泛型约束 GenericParameterAttributes 枚举 泛型约束关系 1.1.4 是否委托 1.1.5 访问修饰符 1.1.6 密封类、[......] 继续阅读
1,InvokeMember 1.1 InvokeMember 参数 1.1.1 name 1.1.2 invokeAttr 1.1.3 binder 1.1.4 target 1.1.5 args 1.1.6 返回 1.1.7 BindingFlags 1.1.8 根据是否公开 1.1.9 大小[......] 继续阅读
1,属性字段的赋值和读值 2,自定义特性和特性查找 2.1 特性规范和自定义特性 2.1.1 定义特性 2.1.2 限制特性的使用 2.1.3 特性的构造函数和属性 2.2 检索特性 2.2.1 方式一 2.2.2 方式二 3,设计一个数据验证工具 3.1 定义抽象验证特性类 3.2 实现多个[......] 继续阅读