Go语言技术文章
-
HTTPX Limits 用 max_connections 控制连接池总连接数,用 max_keepalive_connections 控制空闲复用连接数,用 keepalive_expiry 控制空闲连接保留时间。本文用同步和异步客户端示例说明三者边界,并区分连接池限制、请求超时与重试策略。234 收藏 -
Python BufferedReader.read() 允许缓冲层为满足请求进行多次底层读取,read1() 则保留一次底层读取边界,因此同一个 size 下可能返回不同长度的 bytes。本文用短读示例说明调用次数、EOF、非阻塞和定长消费的处理方式。228 收藏 -
Python binascii.crc32 的 value 参数可以接续上一块的 CRC-32 状态。本文用二进制分块读取说明如何初始化、传递中间结果、处理 EOF 和空文件,并整理结果格式与常见误用。466 收藏 -
解释 BytesIO.getbuffer 导出的 memoryview 为何阻止扩容和关闭,用字节包编辑示例展示等长修改、视图释放、子视图管理及 getvalue 的取舍。130 收藏 -
用具体路径关系说明 Python pathlib.PurePath.relative_to 的默认模式与 walk_up=True 差异,覆盖共同祖先、..、路径锚点、Windows 盘符和符号链接边界。400 收藏 -
文章 · python教程 | 4天前 | 标准库 · 线程 · python · 故障排查 · 运行时 · Python 运行时诊断 线程栈 faulthandler dump_traceback_later 线程卡顿
Python 程序卡住时,不一定要立刻接入性能剖析器。faulthandler.dump_traceback_later 可以在指定秒数后输出所有线程栈,repeat 参数还能持续留下快照。本文从一次卡顿排查出发,讲清 timeout、输出文件、取消计时器和 exit 的使用边界。444 收藏 -
通过两文件兼容检查示例,说明 Python catch_warnings 中如何按消息、类别和模块临时将警告升级为异常,并解释规则优先级、退出恢复及并发限制。319 收藏 -
Python asyncio.Event 适合广播一个共享完成信号:set() 唤醒所有等待协程,wait() 只等待状态,clear() 开启下一轮。本文说明如何让多个协程等待同一 Event,以及为什么结果数据应走独立容器。395 收藏 -
ContextDecorator 适合把上下文管理器复用为函数装饰器,但可变状态若留在共享实例上,重复调用就会相互污染。本文用一个可复用实现说明状态拆分、_recreate_cm、异常清理和显式 with 的选择。292 收藏 -
Python asyncio.Semaphore 用一个内部计数器限制同时进入某段协程工作的任务数量。本文从计数语义出发,说明 async with、手动 acquire/release、异常清理、等待超时和 Semaphore 与 BoundedSemaphore 的选择。412 收藏 -
Java String.indent() 不只是给每行前面加空格,它会先按 lines() 处理文本,再为每个结果行追加 LF。因此没有末尾换行的输入调用 indent 后通常会多出一个换行符。本文说明正负缩进、CRLF/LF 规范化和保留末尾换行的写法。173 收藏 -
使用 Java NumberFormat 工厂按 Locale 创建紧凑数字格式器,解释 SHORT/LONG、小数位和任务实例复用,并保留原始数值用于存储和计算。266 收藏 -
Java String.lines() 可以把包含 CRLF、LF 和 CR 的混合文本统一拆成不带行终止符的行流。本文说明它的识别范围、空文本与末尾换行边界,并给出按 LF 导出规范化文本的写法。372 收藏 -
MappedByteBuffer.load() 是尽力把映射内容预取到物理内存,可能触发缺页和 I/O;isLoaded() 只返回当前驻留状态的提示,false 也不代表内容一定不在内存中。本文用最小映射示例比较两者职责、工作负载和操作系统边界。243 收藏 -
说明 Java MappedByteBuffer.force(index, length) 如何使用映射内相对索引,给出非零映射起点的更新示例,并区分容量约束、底层写出粒度和事务保证。330 收藏