自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 【无标题】

3. 设置IPAddress协议。4. 绑定IPAddress协议。2. 设置Socket属性。

2023-11-17 10:30:46 52 1

原创 多线程之Timer类

Elapsed 到达间隔时发生,触发OnTimedEvent方法。AutoReset: 重复执行 默认true。Enabled: 是否出发 默认true。

2023-11-17 09:36:03 72 1

原创 多线程之ManualResetEvent关键字

ManualResetEvent: 类似打开闸门,在此期间,线程可以自由运行,一但闸门关闭,相关线程应运行到wait位置。1. 启动三个线程 分别执行5,6,12秒。3. thread 1 等待闸门打开。5. 主线程打开闸门 2s。6. thread1 进门。8. 主线程打开闸门2s。2. 主线程工作6秒。7. 主线程关闭闸门。9. 主线程关闭闸门。

2023-11-12 17:48:03 55

原创 多线程之AutoResetEvent关键字

AutoResetEvent 用来进行线程同步,当WaitOne时,阻止当前进程,当Set()时,Are继续执行。通过子线程和主线程的配合使用AutoResetEvent,对主线程和工作线程进行线程同步。4. 发送信号量给 mainAre,使子线程继续进行。2. 发送信号量给workAre,使主线程继续执行。5 WorkerAre程阻止主线程阻止主线程。1. WorkerAre程阻止主线程。3. mainWre阻止子线程。// 6. 发送信号量给5。

2023-11-12 16:32:17 53

原创 多线程之SemaphoreSlim关键字

SemaphoreSlim是对访问资源的线程数,进行限制。1. 声明 SemaphoreSlim 变量。2. 阻止当前线程,直到它可以进入。启动第 Thread+i 个线程。3. 释放线程可进入线程个数。

2023-11-12 16:07:25 86

原创 多线程之Mutex关键字

2. 获取锁,取反;没有获取锁,等待5s。4. 释放锁,让其他进程,可以进入。3. 获得锁,跑3s。

2023-11-12 12:14:31 65

原创 多线程之异常捕获

推荐在线程内部来捕获线程的异常。在主线程中无法捕获线程异常。

2023-11-12 11:37:35 130

原创 多线程之Interlocked关键字

【代码】多线程之Interlocked关键字。为多线程共享的变量提供原子操作。

2023-11-12 11:28:45 53

原创 多线程之Monitor关键字

1. 锁定第一个对象,一秒后锁定第二个对象。3. 始终获取不到lock1的锁,处于挂起状态。1. 锁定第一个对象,一秒后锁定第二个对象。4. 由于死锁,获取锁timeout了。3. 规定时间内,获取排他锁。2. 锁定第二个对象。2. 锁定第二个对象。

2023-11-12 10:50:00 81

原创 多线程之Lock关键字

使用lock关键字对Count进行计数。

2023-11-12 08:37:35 50

原创 其他排序之奇偶排序

/ 2. 第二趟对所有的奇数索引 q,比较 a[q]和 a[q+1],若 a[q]>a[q + 1]// 1. 第一趟对所有的偶数索引 p,比较 a[p]和 a[p + 1]

2023-11-07 07:06:38 51

原创 基础排序之归并排序

归并排序也是比较容易理解的,归并排序采用了分治的思想,把待数组分成左右两部分并对子问题进行排序。代码量最多的地方是Merge()函数。合并之后的数组:[1,2,3,4,5,6]

2023-11-06 14:08:48 48

原创 基础排序之快排

快速排序的过程理解起来也是比较简单,需要具有递归的思维加上一点点类似插入排序的操作即可。子问题解决后,整体问题也就解决了。,5,6: 第一趟的最后结果。

2023-11-06 06:57:38 48

原创 基础排序之计数排序

1. 声明count 数组,取值范围[0..99]2. 对nums[i]在对应的index上进行计数。4. 同一个数字的数目减一。

2023-11-05 11:27:17 44 1

原创 基础排序之插入排序

3. 遍历[0,j] 如果x

2023-11-05 11:19:10 54 1

原创 基础排序之冒泡排序

冒泡排序比较容易理解,就是逐一将大值元素向后交换。2. 在[0,i)中,逐一将大值元素向后交换。从外层看: [4,5,7,2,3,1,6]1. 使用i来控制指向数组的位置;第一趟: 4,5,2,3,1,第三趟 2,3,1,

2023-11-05 10:52:54 57 1

原创 基础排序之选择排序

选择排序理解起来比较容易:每次选出最小值的位置,并交换到对应的位置即可。

2023-11-05 10:20:43 52 1

原创 基础排序之堆排序

如果i不等于largest 说明需要调整,1. 将i与largest进行交换;2. 再次对largest进行递归调整。1. 从最后一个节点索引len-1的父节点(len-1)/2 = len/2-1开始, 来维护堆的性质;2. 根据堆性质,将堆顶元素与最后一个元素交换后,维护堆性质,这样最后一个元素就是排序的最大/小值。大顶堆调整节点: lson < len && nums[largest]< nums[lson]完全二叉树,且已知节点为 i。其父节点(i-1)/2。其左孩子i*2+1;

2023-11-04 05:48:24 51 1

空空如也

空空如也

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

TA关注的人

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