<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[绿浪的成长]]></title><description><![CDATA[记录工作中遇到的问题]]></description><link>https://blog.youkuaiyun.com/greenwaves3000</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; greenwaves3000]]></copyright><item><title><![CDATA[c# 结构体 能不能直接封送检测]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/163923768</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/163923768</guid><author>greenwaves3000</author><pubDate>Thu, 20 Aug 2026 17:41:43 +0800</pubDate><description><![CDATA[【代码】c# 结构体 能不能直接封送检测。]]></description><category></category></item><item><title><![CDATA[WPF UI 流水线]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/163325666</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/163325666</guid><author>greenwaves3000</author><pubDate>Thu, 30 Jul 2026 10:14:57 +0800</pubDate><description><![CDATA[它不是万能药，但它是 WPF 企业级应用中处理异步 UI 操作的一个。]]></description><category></category></item><item><title><![CDATA[async/await 深入学习]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/163278633</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/163278633</guid><author>greenwaves3000</author><pubDate>Tue, 28 Jul 2026 17:24:50 +0800</pubDate><description><![CDATA[UI 用异步是为了“用户体验”，]]></description><category></category></item><item><title><![CDATA[WPF 后台刷新界面总结]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/163278310</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/163278310</guid><author>greenwaves3000</author><pubDate>Tue, 28 Jul 2026 17:12:06 +0800</pubDate><description><![CDATA[如果能用。]]></description><category></category></item><item><title><![CDATA[c# 逐帧播放器]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/163268503</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/163268503</guid><author>greenwaves3000</author><pubDate>Tue, 28 Jul 2026 11:43:20 +0800</pubDate><description><![CDATA[【代码】c# 逐帧播放器。]]></description><category></category></item><item><title><![CDATA[c# 锁 浅谈]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/163268002</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/163268002</guid><author>greenwaves3000</author><pubDate>Tue, 28 Jul 2026 11:30:37 +0800</pubDate><description><![CDATA[如果发现你的 lock 代码块里出现了 using、await、Image.FromFile、Thread.Sleep、Invoke，立即重构——这绝对是设计错误。” 耗时操作如果放在锁内，会导致其他线程（包括 UI 线程）长时间等待，界面直接“卡死”，或者引发死锁。锁内只放“内存赋值/取值”操作，耗时超过 1 毫秒的操作（IO、解码、UI、Dispose）全部扔到锁外面。什么时候：涉及 文件读取（解码）、图像处理（缩放/旋转）、网络请求 或 UI 界面更新（Invoke）。终极总结（记这一句就够了）]]></description><category></category></item><item><title><![CDATA[WPF 防抖，节流详解]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/163246750</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/163246750</guid><author>greenwaves3000</author><pubDate>Mon, 27 Jul 2026 16:48:35 +0800</pubDate><description><![CDATA[节流 (Throttle)：固定间隔最多执行一次。]]></description><category></category></item><item><title><![CDATA[WPF UI标准流水线]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/163243365</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/163243365</guid><author>greenwaves3000</author><pubDate>Mon, 27 Jul 2026 14:40:38 +0800</pubDate><description><![CDATA[提供的这个流水线方法，本质上是将WPF异步编程中反复出现的“线程切换 + 状态管理”模式抽象为一个可复用的基础设施。它让子类代码更简洁、更聚焦于业务，同时保证了UI线程安全。你只需要在子类中实现具体的状态捕获、后台任务和UI恢复逻辑，框架自动帮你处理调度和异常。如果你还想加入防重入和版本号功能，可以在子类中扩展，或者在的基础上再封装一层，传入一个Func<bool>检查是否可以执行，或者集成。这个基类为更高级的封装提供了良好的起点。]]></description><category></category></item><item><title><![CDATA[WPF 防重入，时序错乱详解]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/163242827</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/163242827</guid><author>greenwaves3000</author><pubDate>Mon, 27 Jul 2026 14:32:06 +0800</pubDate><description><![CDATA[解决一些莫名其妙问题]]></description><category></category></item><item><title><![CDATA[c# 中结构体 的定义字符串字段（性能优化）]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/18260175</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/18260175</guid><author>greenwaves3000</author><pubDate>Wed, 15 Apr 2026 11:38:28 +0800</pubDate><description><![CDATA[c# 二进制文件快速读取]]></description><category></category></item><item><title><![CDATA[C#与C++高效互操作指南]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/157731911</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/157731911</guid><author>greenwaves3000</author><pubDate>Wed, 04 Feb 2026 15:51:21 +0800</pubDate><description><![CDATA[【代码】C#与C++高效互操作指南。]]></description><category></category></item><item><title><![CDATA[c# c++内存转换]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/128831515</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/128831515</guid><author>greenwaves3000</author><pubDate>Wed, 01 Feb 2023 15:49:13 +0800</pubDate><description><![CDATA[首先传入托管的内存，c#层很可能会把它gc掉，而c++还在使用，而且托管的mem它的指针地址可能会发生改变，因此直接传给c++可能拿到的地址是错误的）有时需要在c++中分配一块处理好的内存，然后返回给c#来使用，如c++中某个接口 int func(int** data) (注意这里要使用指针的指针，因为data是得到的结果)//调用c++的函数，使unmanaged_ptr指向c++里分配的内存，注意这里用out ，才能与c++里面的**匹配。//将非托管内存拷贝成托管内存，才能在c#里面使用。]]></description><category></category></item><item><title><![CDATA[powershell ISE 多个选项卡，替换命令行黑窗口]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/128632843</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/128632843</guid><author>greenwaves3000</author><pubDate>Tue, 10 Jan 2023 16:59:00 +0800</pubDate><description><![CDATA[替代运行多个控制黑窗口，在powershell中多个选项卡来代替]]></description><category></category></item><item><title><![CDATA[Excel 定位]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/128188664</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/128188664</guid><author>greenwaves3000</author><pubDate>Mon, 05 Dec 2022 16:48:25 +0800</pubDate><description><![CDATA[Excel 定位]]></description><category></category></item><item><title><![CDATA[Excel]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/128187336</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/128187336</guid><author>greenwaves3000</author><pubDate>Mon, 05 Dec 2022 16:00:36 +0800</pubDate><description><![CDATA[Excel 单元格格式定义]]></description><category></category></item><item><title><![CDATA[k8s集群搭建]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/127487025</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/127487025</guid><author>greenwaves3000</author><pubDate>Mon, 05 Dec 2022 13:50:50 +0800</pubDate><description><![CDATA[k8s集群搭建]]></description><category></category></item><item><title><![CDATA[Excel 智能填充]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/128184314</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/128184314</guid><author>greenwaves3000</author><pubDate>Mon, 05 Dec 2022 13:49:16 +0800</pubDate><description><![CDATA[Excel 智能填充]]></description><category></category></item><item><title><![CDATA[Xwings操作Excel常用帮助功能]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/128109284</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/128109284</guid><author>greenwaves3000</author><pubDate>Wed, 30 Nov 2022 13:16:33 +0800</pubDate><description><![CDATA[Xwings操作Excel常用帮助功能]]></description><category></category></item><item><title><![CDATA[什么是k8s]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/127486958</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/127486958</guid><author>greenwaves3000</author><pubDate>Mon, 24 Oct 2022 10:20:01 +0800</pubDate><description><![CDATA[在网络方面，默认docker容器是通过桥接与NAT和主机外网络通信，这样就出现2个问题，一个是因为是NAT，外部主机无法主动访问到容器内（除了端口映射），另外默认桥接IP是一样的，这样会出现不同主机的容器有相同的IP的情况。在容器可靠性方面，相较于Kubernetes的Replication Controllers可以监控并维持容器的生命，swarm在启动时刻可以控制容器启动，在启动后，如果容器或者容器主机崩溃，swarm没有机制来保证容器的运行。作用是一样的，k8s就是让docker来干事的。]]></description><category></category></item><item><title><![CDATA[CPU 原理]]></title><link>https://blog.youkuaiyun.com/greenwaves3000/article/details/109241075</link><guid>https://blog.youkuaiyun.com/greenwaves3000/article/details/109241075</guid><author>greenwaves3000</author><pubDate>Mon, 24 Oct 2022 10:17:31 +0800</pubDate><description><![CDATA[多级缓存

寄存器

1级缓存

2级缓存

3级缓存

主存

外存



To Business 缓冲使用结构体，缓存使用类，

视频客户端使用缓冲，视频服务端使用缓存

栈是CPU直接操作的，

缓冲和缓存是虚拟的，宏观概念。



CPU ---- CPU 1、2、3级缓存 ---- 内存
...]]></description><category></category></item></channel></rss>