前言 volatile 关键字 三种常用等待 再说自旋和阻塞 SpinWait 结构 属性和方法 自旋示例 新的实现 SpinLock 结构 属性和方法 示例 等待性能对比 前面我们学习了很多用于线程管理的 类型,也学习了多种线程同步的使用方法,这一篇主要讲述线程等待相关的内容。 在[......] 继续阅读

2020年4月26日 0条评论 2371点热度 0人点赞 痴者工良 阅读全文

本篇的内容主要是介绍 ReaderWriterLockSlim 类,来实现多线程下的读写分离。 ReaderWriterLockSlim ReaderWriterLock 类:定义支持单个写线程和多个读线程的锁。 ReaderWriterLockSlim 类:表示用于管理资源访问的锁定状态,可实现多[......] 继续阅读

2020年4月25日 0条评论 2380点热度 2人点赞 痴者工良 阅读全文

前言 这一篇,我们将学习用于实现并行任务、使得多个线程有序同步完成多个阶段的任务。 应用场景主要是控制 N 个线程(可随时增加或减少执行的线程),使得多线程在能够在 M 个阶段中保持同步。 线程工作情况如下: 我们接下来 将学习C# 中的 Barrier ,用于实现并行协同工作。 Barrier[......] 继续阅读

2020年4月25日 0条评论 2027点热度 0人点赞 痴者工良 阅读全文

方法一: csproj文件中,加上 方法二: .runtimeconfig.json 文件加上 { "runtimeOptions": { "configProperties": { "System.Globalization.Invariant&[......] 继续阅读

2020年4月22日 1条评论 4209点热度 3人点赞 痴者工良 阅读全文

解决一个问题 CountdownEvent 类 构造函数和方法 示例 解决一个问题 假如,程序需要向一个 Web 发送 5 次请求,受网路波动影响,有一定几率请求失败。如果失败了,就需要重试。 示例代码如下: class Program { private s[......]继续阅读

2020年4月19日 0条评论 2086点热度 0人点赞 痴者工良 阅读全文

区别与示例 ManualResetEvent 类 ManualResetEventSlim 区别与示例 AutoResetEvent 和 ManualResetEvent 十分相似。两者之间的区别,在于前者是自动(Auto),后者是手动(Manua)。 你可以先运行下面的示例,再测试两者的区别。[......] 继续阅读

2020年4月19日 0条评论 2079点热度 0人点赞 痴者工良 阅读全文

AutoRestEvent 类 常用方法 一个简单的示例 解释一下 复杂一点的示例 解释 回顾一下,前面 lock、Monitor 部分我们学习了线程锁,Mutex 部分学习了进程同步,Semaphor 部分学习了资源池限制。 这一篇将学习 C# 中用于发送线程通知的 AutoRestEve[......] 继续阅读

2020年4月19日 0条评论 2582点热度 0人点赞 痴者工良 阅读全文

Semaphore 类 示例 示例说明 信号量 SemaphoreSlim类 示例 区别 两者都可以限制同时访问某一资源或资源池的线程数。 这里先不扯理论,我们从案例入手,通过示例代码,慢慢深入了解。 Semaphore 类 这里,先列出 Semaphore 类常用的 API。 其构造函[......] 继续阅读

2020年4月18日 0条评论 2437点热度 0人点赞 痴者工良 阅读全文

Mutex 类 构造函数和方法 系统只能运行一个程序的实例 解释一下上面的示例 接替运行 进程同步示例 另外 Mutex 类 Mutex 中文为互斥,Mutex 类叫做互斥锁。它还可用于进程间同步的同步基元。 互斥锁(Mutex),用于多线程中防止两条线程同时对一个公共资源进行读写的机制。 [......] 继续阅读

2020年4月18日 0条评论 2406点热度 1人点赞 痴者工良 阅读全文

本章主要讲述多线程竞争下的原子操作。 知识点 竞争条件 线程同步 CPU时间片和上下文切换 阻塞 内核模式和用户模式 Interlocked类 1,出现问题 2,Interlocked.Increment() 3,Interlocked.Exchange() 4,Interlocked.Co[......] 继续阅读

2020年4月18日 0条评论 2655点热度 0人点赞 痴者工良 阅读全文

1,Lock lock 原型 lock 编写实例 2,Monitor 怎么用呢 解释一下 示例 设置获取锁的时效 C# 中,可以使用 lock 关键字和 Monitor 类来解决多线程锁定资源和死锁的问题。 官方解释:lock 语句获取给定对象的互斥 lock,执行语句块,然后释放 l[......] 继续阅读

2020年4月17日 0条评论 2319点热度 0人点赞 痴者工良 阅读全文

public IConfigurationRoot Config { get; } = new ConfigurationBuilder() .SetBasePath(System.IO.Path.Combine(System.IO.Directory[......]继续阅读

2020年4月16日 0条评论 2096点热度 0人点赞 痴者工良 阅读全文

下面是一张图片的 base64 编码 下面代码是很久前写的了,暂时不改,为了速度,请修改字符串操作部分的代码。 /// /// base64转为图片存储到本地 /// /// /// ///[......]继续阅读

2020年4月16日 0条评论 2996点热度 0人点赞 痴者工良 阅读全文

解决方法: 使用 RandomNumberGenerator 来生成随机数。 https://docs.microsoft.com/zh-cn/dotnet/api/system.security.cryptography.randomnumbergenerator?view=netcore-3.1[......] 继续阅读

2020年4月16日 0条评论 2639点热度 0人点赞 痴者工良 阅读全文

目录 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 线程优[......] 继续阅读

2020年4月15日 0条评论 2564点热度 3人点赞 痴者工良 阅读全文

文章内容有知识点提示时: 提示:1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111[......] 继续阅读

2020年4月12日 0条评论 2118点热度 0人点赞 痴者工良 阅读全文

Reimage Repair 是一个非常强大的工具,能够诊断系统问题,修复系统。 对于 windows 10 更新时碰到的各种错误,使用此软件可以很容易地修复系统。 以管理员权限打开cmd,输入 SFC/scannow 也可以扫描系统。 使用 dism /online /cleanup-image[......] 继续阅读

2020年4月4日 0条评论 2885点热度 5人点赞 痴者工良 阅读全文

[5分钟]菜鸟修研之设计模式:六大设计原则 [TOC] 笔者作为一个菜鸟,会尝试以简单的代码和容易理解的语句去解释这几种原则的特性和应用场景。 这六种原则分别为单一职责原则、接口隔离原则、里氏替换原则、迪米特法则、依赖倒置原则、开闭原则。 单一职责原则 单一职责原则(SRP:Single respo[......] 继续阅读

2020年4月4日 0条评论 2260点热度 1人点赞 痴者工良 阅读全文

Startup 中,添加一个变量 readonly string ganweiCosr = "AllowSpecificOrigins"; Startup.ConfigureServices 中,添加服务 #if CORS services[......]继续阅读

2020年4月3日 0条评论 5376点热度 7人点赞 痴者工良 阅读全文

新建一个静态类吗,注入 dapper 服务。 /// <summary> /// 注入dapper /// </summary> public static class DapperService { /// <s[......]继续阅读

2020年4月3日 0条评论 4107点热度 6人点赞 痴者工良 阅读全文
1141516171826