<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xiaonian321的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xiaonian321</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiaonian321]]></copyright><item><title><![CDATA[异步队列 + Future 回调链：底层唤醒机制全解析]]></title><link>https://blog.youkuaiyun.com/xiaonian321/article/details/152166235</link><guid>https://blog.youkuaiyun.com/xiaonian321/article/details/152166235</guid><author>xiaonian321</author><pubDate>Sat, 27 Sep 2025 14:37:50 +0800</pubDate><description><![CDATA[本教程深入剖析Python异步队列asyncio.Queue的工作原理，通过四层逻辑拆解其&quot;阻塞读写+事件驱动&quot;机制。核心在于Future状态管理构建的回调链：当队列空时，get()创建Pending状态的Future挂起消费者；put()则触发Future完成，通过事件循环唤醒等待的协程。这种设计无需轮询，完全由消息入队事件驱动，高效支撑异步消息传递。文中通过单生产者-消费者示例详细演示了从用户代码到底层回调的完整链路，并展示如何扩展到多生产者-消费者场景。]]></description><category></category></item><item><title><![CDATA[python异步编程笔记之对await的深入理解]]></title><link>https://blog.youkuaiyun.com/xiaonian321/article/details/152161509</link><guid>https://blog.youkuaiyun.com/xiaonian321/article/details/152161509</guid><author>xiaonian321</author><pubDate>Sat, 27 Sep 2025 10:10:26 +0800</pubDate><description><![CDATA[不是所有 "持续循环、无限循环或耗时函数" 都能被 `await`，只有**异步函数（用 **`async def`** 定义）** 才能被 `await`* 当 `await` 一个异步操作时，当前协程会暂停并进入 "等待状态"，事件循环会去执行其他**已就绪**的协程。* 同步的耗时函数（如普通的 `time.sleep(10)`）即使被 `await` 修饰，也会阻塞整个事件循环。* `await` 后面接的必须是**可等待对象**（协程对象、`Future`、`Task` 等）]]></description><category></category></item><item><title><![CDATA[异步编程笔记]]></title><link>https://blog.youkuaiyun.com/xiaonian321/article/details/152079889</link><guid>https://blog.youkuaiyun.com/xiaonian321/article/details/152079889</guid><author>xiaonian321</author><pubDate>Thu, 25 Sep 2025 13:07:21 +0800</pubDate><description><![CDATA[通过遵循本文提出的五个核心概念（入口、主干函数、常驻体、主干巡逻代码、耗时模块的等待技巧）和四个重要规则，初学者可以快速掌握asyncio的使用方法，编写出高效、可靠的异步程序。特别要注意的是，耗时任务的处理是异步编程中的常见挑战，通过将其打包为后台任务并设置合理的等待时间，可以有效地控制程序流程，避免长时间阻塞。主干函数中的`await`语句，用于暂停主干函数的执行，等待特定任务完成。常驻体是长期运行的后台任务，通过`asyncio.create_task()`创建，相当于在后台运行的协程。]]></description><category></category></item><item><title><![CDATA[Make简介 Makefile基本结构与规则]]></title><link>https://blog.youkuaiyun.com/xiaonian321/article/details/106537657</link><guid>https://blog.youkuaiyun.com/xiaonian321/article/details/106537657</guid><author>xiaonian321</author><pubDate>Thu, 04 Jun 2020 08:53:16 +0800</pubDate><description><![CDATA[Make简介
make实用程序自动确定大型程序的哪些部分需要重新编译，
并发出命令重新编译它们。
您可以使用它来描述任何任务，
其中某些文件必须在其他文件 更改时 从 其他文件 自动更新，
即所谓的依赖和依赖关系。
要准备使用make，
必须编写一个名为makefile的文件，
该文件描述程序中文件之间的关系，
并提供用于更新每个文件的命令。
通常，在程序中，可执行文件是从目标文件更新而来的，
而目标文件又是通过编译源文件而生成的。
一旦存在合适的makefile，每次更改一些源文件时，
执行这个简单的sh]]></description><category></category></item><item><title><![CDATA[Linux驱动开发 之 查看源码 以及推荐使用工具]]></title><link>https://blog.youkuaiyun.com/xiaonian321/article/details/106518551</link><guid>https://blog.youkuaiyun.com/xiaonian321/article/details/106518551</guid><author>xiaonian321</author><pubDate>Wed, 03 Jun 2020 10:58:05 +0800</pubDate><description><![CDATA[Linux驱动开发 之 查看源码

]]></description><category></category></item><item><title><![CDATA[linux驱动程序开发 之 使用linux发行版而不是使用kernel.org上正式发布的内核]]></title><link>https://blog.youkuaiyun.com/xiaonian321/article/details/106516131</link><guid>https://blog.youkuaiyun.com/xiaonian321/article/details/106516131</guid><author>xiaonian321</author><pubDate>Wed, 03 Jun 2020 07:59:02 +0800</pubDate><description><![CDATA[linux驱动程序开发 之 关于linux发行版

]]></description><category></category></item><item><title><![CDATA[linux tar 命令 实用速查]]></title><link>https://blog.youkuaiyun.com/xiaonian321/article/details/106266912</link><guid>https://blog.youkuaiyun.com/xiaonian321/article/details/106266912</guid><author>xiaonian321</author><pubDate>Thu, 21 May 2020 20:33:34 +0800</pubDate><description><![CDATA[linux tar 命令
The tar program is used to create and manipulate tar archives.
tar程序用于创建和操作tar存档（归档文件）。
An archive  is a single file which contains the contents of many files, while still iden-  tifying the names of the files, their owner(s), and so forth.
ar]]></description><category></category></item><item><title><![CDATA[gentoo安装的复杂度超越了我的想象]]></title><link>https://blog.youkuaiyun.com/xiaonian321/article/details/106227373</link><guid>https://blog.youkuaiyun.com/xiaonian321/article/details/106227373</guid><author>xiaonian321</author><pubDate>Wed, 20 May 2020 07:57:37 +0800</pubDate><description><![CDATA[疑问，以及，不知道俺还有啥不知道

1.

分区

EFI，UEFI, MBR 这些是啥，好像懂，但真的懂吗？

2.

路径与挂载

挂来挂去，找不到路径了，被自己绕晕了。

你明白了，从引导安装媒体到被安装，的切换机制了吗？

3.

gentoo的包管理器，是什么样的？怎样用？

@world到底是个啥？

eselect,emerge是什么呀？


...]]></description><category></category></item><item><title><![CDATA[linux文档 高频 常遇 概念 词组 私藏笔记--看文档一目十行，坐船练习水上飘]]></title><link>https://blog.youkuaiyun.com/xiaonian321/article/details/105932219</link><guid>https://blog.youkuaiyun.com/xiaonian321/article/details/105932219</guid><author>xiaonian321</author><pubDate>Tue, 05 May 2020 14:26:41 +0800</pubDate><description><![CDATA[概念，词组
boot loader 引导装载程序
proprietary operating system 专有操作系统
executable format 可执行格式

]]></description><category></category></item><item><title><![CDATA[tynycorelinux完全自学之路]]></title><link>https://blog.youkuaiyun.com/xiaonian321/article/details/105902644</link><guid>https://blog.youkuaiyun.com/xiaonian321/article/details/105902644</guid><author>xiaonian321</author><pubDate>Sun, 03 May 2020 13:49:00 +0800</pubDate><description><![CDATA[tynycorelinux完全自学之路
tinycore极小核linux中国镜像站链接
1
在Windows下制作安装盘u盘，
core2usb下载。
2
说明书，安装等的说明。
3尝试手动配置，带着问题学习。

...]]></description><category></category></item><item><title><![CDATA[2020-05-03]]></title><link>https://blog.youkuaiyun.com/xiaonian321/article/details/105901918</link><guid>https://blog.youkuaiyun.com/xiaonian321/article/details/105901918</guid><author>xiaonian321</author><pubDate>Sun, 03 May 2020 12:39:51 +0800</pubDate><description><![CDATA[linux命令速查
文件系统操作
mkdir 建文件夹
分区 fdisk parted
df 文件系统概况
格式化 mkfs
网络操作
时间date
时间同步 ntpd

]]></description><category></category></item></channel></rss>