- 博客(390)
- 资源 (4)
- 收藏
- 关注
原创 TaskFactory
是 C# 中处理多线程和异步任务的一个非常有用的类,它通过简化任务的创建、启动、调度和管理,极大提高了开发效率和代码可读性。通常,这些任务不应使用线程池线程来执行,而应该单独分配线程,以避免阻塞线程池中的其他任务。你可以指定某个任务成功完成后执行另一个任务,或者在任务失败时执行相应的操作。例如,你可以让任务只在当前任务成功完成时执行后续任务,或者只在任务失败时执行后续任务。允许你创建任务的链式操作,也就是一个任务完成后可以自动执行另一个任务。的创建过程,使得任务的启动、调度和继续等操作变得更加方便和灵活。
2025-12-26 08:04:50
874
原创 TaskScheduler
/ 将任务排队到特定线程// 强制任务在该线程内执行// 在这个线程内执行任务在这个例子中,将任务调度到特定的线程(在方法中运行的线程)。这个调度器可以用来确保任务都在一个线程上顺序执行。在某些高性能计算场景下,可能需要一个特定的线程池来执行任务,而不是使用默认的线程池。自定义允许开发者为任务调度提供更细粒度的控制。
2025-12-26 08:04:08
1457
原创 TaskCompletionSource
是一个非常强大的工具,允许开发者以更加灵活的方式控制和管理异步任务。它让你能够将基于回调的异步编程模型转化为更加直观和易于管理的Task模型,同时还提供了手动控制任务状态(完成、失败或取消)的能力。在处理复杂异步控制流时,是非常有用的。
2025-12-25 07:58:55
382
原创 EventWaitHandle
是 .NET 中一个用于线程同步的基类,位于命名空间下。它提供了一种机制,用于一个或多个线程等待某个特定事件的发生,通常用于多线程同步和线程间的通信。类本身是一个抽象类,不能直接实例化,但它有两个常见的子类——和,这两个子类广泛用于线程同步操作。是一种线程同步机制,它使得线程能够根据特定事件的状态(信号或非信号)来决定是否继续执行。通常,线程在执行过程中会检查事件的状态,若事件处于非信号状态,线程会被挂起直到事件状态变为信号状态。
2025-12-25 07:58:19
660
原创 ThreadPool
是一个线程集合,它用于管理应用程序中的多个线程,并且能够根据任务需要动态地分配线程。线程池中的线程是重用的,这意味着线程不会在任务完成后销毁,而是返回池中,等待下一个任务。:虽然线程池可以动态调整线程数量,但仍然受到最大线程数的限制。如果任务量过大,线程池可能无法及时响应。:线程池中的线程选择任务时,通常会选择队列中排在最前面的任务,即采用先到先服务(FIFO)的原则。这是最常用的方法之一,用于将一个任务提交到线程池队列中,由空闲线程来执行该任务。设置线程池中的线程优先级,可以控制线程池线程的执行优先级。
2025-12-24 08:02:01
391
原创 Task.WhenAll和Task.WhenAny
❌ 把 WhenAll 当“并行器”❌ 在循环里直接 await(伪并发)❌ WhenAny 后忽略未完成 Task❌ 忽略异常和取消是一个原子计数器驱动的完成门闩是一个 CAS 驱动的竞速门闩它们本身几乎“没有重量”,但决定了整个 async 架构的形状。
2025-12-24 08:01:01
314
原创 Task.Wait()、Task.Result、Task.GetAwaiter().GetResult()
→ 阻塞等待,无返回值,异常 AggregateException→ 阻塞等待,返回结果,异常 AggregateException→ 阻塞等待,返回结果或抛原始异常,内部 await/框架常用都不触发 continuation,阻塞线程可能导致死锁才是非阻塞、自动调度 continuation 的机制。
2025-12-22 08:19:11
854
原创 Task和TaskAwaitor功能分析
TaskAwaiter 是结构体。桥梁:连接 Task 与 async/await 状态机。注册 continuation:决定 Task 未完成时如何挂起状态机。获取结果:Task 已完成时,通过返回值或抛出异常。TaskAwaiter = Task ↔ AsyncStateMachine 的桥梁。Task = 异步操作状态 + 结果 + continuation 容器。TaskAwaiter = Task ↔ async 状态机桥梁。Task 完成后 continuation 的执行。
2025-12-22 08:17:51
618
原创 Task.Wait()、Task.Result、Task.GetAwaiter().GetResult()
→ 阻塞等待,无返回值,异常 AggregateException→ 阻塞等待,返回结果,异常 AggregateException→ 阻塞等待,返回结果或抛原始异常,内部 await/框架常用都不触发 continuation,阻塞线程可能导致死锁才是非阻塞、自动调度 continuation 的机制。
2025-12-20 07:36:14
957
原创 Task和TaskAwaitor功能分析
TaskAwaiter 是结构体。桥梁:连接 Task 与 async/await 状态机。注册 continuation:决定 Task 未完成时如何挂起状态机。获取结果:Task 已完成时,通过返回值或抛出异常。TaskAwaiter = Task ↔ AsyncStateMachine 的桥梁。Task = 异步操作状态 + 结果 + continuation 容器。TaskAwaiter = Task ↔ async 状态机桥梁。Task 完成后 continuation 的执行。
2025-12-20 07:35:33
910
原创 await中的SynchronizationContext和ExecutionContext
“在哪里执行= “逻辑上下文流动捕获 SynchronizationContext(unless ConfigureAwait(false))捕获 ExecutionContextThreadPool / IOCP / timer 执行 continuation恢复 ExecutionContextPost 到 SynchronizationContext(如果存在)理解这两者,是深入分析 .NET async 线程切换、延迟和潜在死锁的关键。
2025-12-19 08:20:37
884
原创 async和await的实现机制分析
编译器状态机 + Task continuation + ThreadPool / Context 调度它把“阻塞等待”变成了“未来某时恢复执行”
2025-12-19 08:19:23
814
原创 神经网络之经验风险最小化
概念定义优缺点经验风险最小化 (ERM)在训练集上最小化平均损失简单易行,但易过拟合结构风险最小化 (SRM)在 ERM 基础上加入正则项抑制过拟合,更具泛化能力。
2025-11-24 08:43:02
92
原创 神经网络之向量空间的正交坐标系的数量
在一个nnn维向量空间中,有无数个正交坐标系;它们之间通过正交矩阵连接,形成了一个连续的旋转宇宙。如果你固定空间的几何结构,旋转相机永远拍不完的角度,就是这些无穷多的正交基。要不要我给你展示一下二维空间中所有正交基的“连续变化动画”原理?可以看到VVV如何在单位圆上滑动,把基向量旋转成一整圈。
2025-11-07 08:24:16
439
1
原创 神经网络之矩阵可以让二维向量填充整个三维空间吗
最多只能把二维输入映射到一个二维子空间(一个平面)中,无法覆盖整个三维空间。它们构成输出空间的正交基,而矩阵的秩告诉我们有多少个这样的方向。所有可能的输出点 ((x_1, x_2, x_1+x_2))你可以让它漂浮在三维空间的任意角度,但它永远没有“厚度”,它确实“进入了三维空间”,但永远无法填满整个体积。它能让输入平面在三维空间里“倾斜、旋转、拉伸”,告诉我们,它能“铺开”输出空间的多少维度。想象输入空间是一块平面橡皮布(二维的)。的输出永远被限制在一个二维子空间中。正好描述了这个平面在三维空间里的。
2025-11-07 08:20:42
772
原创 神经网络之特征分解
当矩阵可被特征分解时,所有的线性组合都可以通过特征向量方向上的伸缩表示,从而把矩阵的作用“分解”成若干独立方向上的缩放。这意味着,线性变换 (A) 对向量 (v) 的作用仅仅是。是正交矩阵(列向量是单位正交的特征向量)。,不会改变方向(方向可能翻转,如果。的一个特征向量,对应特征值。得到对应的非零向量 (v)。个线性无关的特征向量。
2025-11-06 05:41:54
933
原创 神经网络之奇异值分解
对于任意实矩阵A∈Rm×nA∈Rm×nAUΣVTAUΣVTU∈Rm×mU∈Rm×m:左奇异向量矩阵(列正交);V∈Rn×nV∈Rn×n:右奇异向量矩阵(列正交);Σ∈Rm×nΣ∈Rm×n:对角矩阵,对角线非负,元素为奇异值。
2025-11-06 05:38:24
861
原创 神经网络之正交对角化
正交对角化(Orthogonal Diagonalization)指:对一个实对称矩阵A∈Rn×nA∈Rn×n,存在一个正交矩阵Q(Q)Q和一个对角矩阵Λ(\Lambda)ΛAQΛQ⊤AQΛQ⊤Q⊤QIQ⊤QI,列向量是单位向量且两两正交Λ(\Lambda)Λ是对角矩阵:对角线元素是 (A) 的特征值正交对角化把矩阵分解为旋转 + 拉伸 + 旋转的组合定义:实对称矩阵AQΛQ⊤AQΛQ⊤条件。
2025-11-05 09:05:30
1119
原创 神经网络之特征值与特征向量
给定一个方阵A∈Rn×nA∈Rn×n,如果存在一个非零向量v≠0(v \neq 0)v0和一个标量λ(\lambda)λ,满足AvλvAvλvv(v)v称为矩阵A(A)A的特征向量λ(\lambda)λ称为矩阵A(A)A的特征值直观理解特征向量是经过矩阵变换A(A)A后,只被拉伸或缩放,而不改变方向的向量。特征值就是这个拉伸/缩放的倍数。
2025-11-05 09:02:21
1050
原创 神经网络之线性变换
设有一个从向量空间到向量空间的映射TRn→RmTRn→Rm当且仅当它满足以下两个条件时,称 (T) 为线性变换TxyTxTyTcxcTx∀c∈RTxyTxTyTcxcTx∀c∈R也就是说:线性变换保持加法和数乘结构,它不会破坏向量之间的线性关系。类型线性几何效果矩阵形式特征缩放✅放大/缩小diagkkdiag(k,k)diagkk改变长度,保持方向旋转✅。
2025-11-04 08:36:54
938
原创 神经网络之反射变换
反射变换(reflection transformation)是一种线性变换,它将空间中的点(或向量)相对于某个**平面(或直线)**进行镜像对称。在二维空间中,它表示相对于一条直线的镜像反射;在三维空间中,它表示相对于一个平面的镜像反射。n( n )n是单位法向量(表示反射平面的法线方向);x∈Rnx∈Rn是任意向量。则反射变换T( T )TTxx−2n⋅xnTxx−2n⋅xn项目内容定义Txx−2n⋅xnT。
2025-11-04 08:32:35
1058
原创 神经网络之正交矩阵
核心特征:转置等于逆矩阵Q−1Q⊤Q−1Q⊤;几何意义:保持长度和角度;行列式:+1 表示旋转,−1 表示反射;列向量:单位正交;常见正交矩阵:旋转矩阵、反射矩阵、置换矩阵、单位矩阵等。
2025-11-03 07:20:01
1336
原创 神经网络之向量降维
我们进行向量降维,是为了去冗余、降噪声、提取主要语义模式。而之所以能保留语义结构,是因为降维方法抓住了数据中方差最大、最稳定的变化方向这些方向恰好对应于语言的主要语义规律。
2025-11-03 07:17:14
465
原创 神经网络之协方差
协方差(Covariance)衡量。对随机变量X和YcovXYE[(X−EX])⋅Y−EY])]对样本数据((X1Y1XnYn))covXYn−11i1∑nXi−XˉYi−Yˉ⚡ 核心思想:测量两个变量“共同偏离均值的程度”。
2025-10-31 09:06:01
794
原创 神经网络之矩阵可逆
对于一个n×nn×n方阵A(A)A,如果存在同样大小的矩阵B(B)BABBAInABBAIn其中In(I_n)InA(A)A可逆InvertibleNonsingularInvertibleNonsingularBA−1BA−1为A(A)A的逆矩阵简单理解:可逆矩阵就是“可以被反转”的矩阵,类似于数的倒数。
2025-10-31 09:03:07
1066
原创 神经网络之线性相关
设有两个向量(或变量)xx1x2xnyy1y2ynxx1x2xnyy1y2yn如果存在常数ab( a, b )ab,其中b≠0b0xabyxaby那么我们称x 与 y 线性相关(linearly dependent)。若不存在这样的关系,则称它们线性无关(linearly independent)。更一般地,对多个向量v1v2vkv1v2vk。
2025-10-30 08:18:00
1042
原创 神经网络之从向量空间角度理解PPMI矩阵
层面共现矩阵PPMI矩阵向量含义共现次数语义关联强度空间结构频率主导,模糊语义主导,分簇几何表现向量方向杂乱,距离不代表语义向量方向反映语义类别功能词作用拉拢所有词,掩盖语义被压缩到原点整体效果“统计空间”“语义空间”PPMI 把“共现统计的云团”几何地重新拉伸,使向量间的空间距离更接近语义距离。
2025-10-29 08:47:03
1214
原创 神经网络之PPMI矩阵
PMI 衡量两个事件(这里是两个词)之间的关联程度PMIwiwjlogPwiwjPwiPwjPMIwiwjlogPwiPwjPwiwj如果两个词独立出现,则PwiwjPwiPwjPwiwjPwiPwj)),PMI = 0如果它们比独立出现更频繁地一起出现→ PMI > 0如果它们几乎从不一起出现 → PMI < 0项目共现矩阵。
2025-10-29 08:45:36
699
原创 神经网络之向量相似性
当我们用向量来表示词语、句子或图像时,向量之间的几何关系就代表了它们之间的语义关系。所以,“相似度”就是在数学上量化“语义相似”的方式。我们主要用几种度量来比较两个向量 (a⃗)( \vec{a} )(a) 和 (b⃗)( \vec{b} )(b):定义:KaTeX parse error: Expected 'EOF', got '_' at position 14: \text{cosine_̲similarity} = \…其中:⋅b):内积(点积)(∣∣a⃗∣∣)( ||\vec{a}|| )
2025-10-28 08:43:57
811
原创 神经网络之共现矩阵
概念内容目的把词变成数字向量,用于表达语义相似性依据分布式假设:“词的意义由上下文决定”矩阵含义行列都是词,数值是共现次数向量化方式每一行即一个词向量语义关系来源相似上下文 → 向量相似实现关键点设窗口 → 遍历语料 → 统计共现次数✅共现矩阵就是:“记录每个词与其他词在相邻上下文中共同出现次数的表格”,每一行可视为一个“语义向量”,语义相似的词 → 向量相似。
2025-10-28 08:39:35
478
原创 神经网络之窗口大小对词语义向量的影响
在基于上下文学习的模型(例如 Word2Vec 的 Skip-gram 或 CBOW)中,窗口大小(通常记为w)定义为模型在学习目标词(target word)时所考虑的上下文词的范围。例如,假设句子是:“猫 坐 在 垫子 上”当窗口大小 = 2 时,目标词 “在” 的上下文词是 “猫”, “坐”, “垫子”, “上”。即考虑“前两个词”和“后两个词”。维度小窗口大窗口语义类型句法、搭配概念、主题表示倾向精细、局部抽象、全局共现范围邻近词语义场向量关系功能相似。
2025-10-27 08:24:50
795
原创 神经网络之密集的词向量如何能够代表稀疏的词向量
层面原理说明几何层面稀疏空间的低维投影保留距离与方向(语义)线性代数层面稀疏矩阵的低秩分解X≈EWTX≈EWT概率统计层面共现概率建模P≈softmaxEPcontextword≈softmaxE))信息论层面压缩编码去掉冗余,保留语义信息密集词向量并不是直接替代稀疏词向量,而是它的“语义压缩映射”——一种低维、连续的、保留主要语义结构的表示。密集词向量 = 稀疏共现信息的低维压缩,使语义相似的词在几何上靠近。
2025-10-27 08:22:51
1087
原创 神经网络之方向和距离是如何承载语义的
在真实模型中,比如 word2vec 或 BERT 的 embedding,这种空间通常是。设想你有一个二维平面,横轴代表“性别”,纵轴代表“社会地位”。「男人」→「国王」的变化 = 「女人」→「王后」的变化。假设我们测量两点之间的欧氏距离(或余弦相似度)。方向不只是几何上的移动,而是“语义操作”。现在我们来看“方向”意味着什么。在词向量中我们通常用。,但几何意义仍然相似。
2025-10-25 07:18:25
802
原创 神经网络之语义空间
语义空间是一种抽象的数学空间在其中,每个词、短语或句子都对应一个向量(一个点)而语义关系通过这些向量的几何关系(距离、方向、角度等)来表达。简单来说:🌍 “语义空间是用几何结构表达意义的地方。词语的语义相似性 → 向量的接近程度;语义关系(如“性别”、“时态”、“程度”) → 空间的方向;语义类(如“动物”“情绪”“国家”) → 空间中的区域或簇。层面本质数学角度一个连续的向量空间,语义由向量的位置与方向表达语言学角度“意义在使用中”——语义由上下文统计模式决定哲学角度。
2025-10-25 07:16:47
845
原创 神经网络之词向量
稀疏”意味着大多数维度都是 0。在 NLP 早期阶段,词语是通过稀疏向量表示的。密集向量指的是每一维都有有意义的、连续的实数值(通常是浮点数),并且维度远小于词汇表大小。词密集向量示意(维度 = 4)猫狗苹果设词汇表为w1w2wVw1w2wVxone-hotwi∈RVxi1others0xone-hotwi∈RVxi1others0E∈RV×dv∗iE∗iE∈R。
2025-10-22 07:19:34
1139
原创 HarmonyOS之启动应用内的UIAbility组件
UIAbility 是一种前台组件,具有独立的生命周期,支持界面展示与交互,通常用于实现应用的页面跳转、功能模块隔离等。需求场景使用方法普通页面跳转跳转并返回数据指定页面跳转控制实例复用配置launchType。
2025-10-22 07:17:03
631
原创 神经网络之单词的语义表示
单词是语义的最小单位,而计算机理解自然语言的关键,就在于如何用数字化方式准确地表示这些单词的含义。从简单的独热编码到上下文感知的词向量模型,我们已经走了很远——但“理解语言”这件事,还远远没有结束。
2025-10-21 06:46:35
405
原创 神经网络之从自由度角度理解方差的无偏估计
我们现在从“自由度”的角度,深入解释为什么样本方差要除以 (n−1)( n - 1 )(n−1) 才能成为无偏估计(unbiased estimator),而不是 (n)( n )(n)。总体方差定义为:σ2=1N∑i=1N(xi−μ)2\sigma^2 = \frac{1}{N} \sum_{i=1}^N (x_i - \mu)^2σ2=N1i=1∑N(xi−μ)2但通常我们没有总体所有数据,只能从样本 (x1,x2,...,xn)( x_1, x_2, ..., x_n )(x1,x2,.
2025-10-20 06:21:36
720
童继龙的ERP顾问感悟.pdf
2010-04-03
ES2015规范
2016-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅