CPU 同一核心同一时刻只能执行一条线程;内核每隔几毫秒切换任务,切换时保存当前寄存器、栈状态,加载下一条线程上下文。
切换开销:频繁大量线程切换会占用大量 CPU 算力,导致真实推理计算资源被挤占,并发反而变慢。
调优标准:CPU 密集任务线程数≈CPU 核心数;IO 密集网关可适当扩大线程池上限。
四、多线程两大核心问题:数据竞争与同步锁
1. 数据竞争(并发脏读)
多条线程同时读写同一个共享变量,会出现计算结果错乱。
AI 业务典型案例:多条对话线程同时累加用户 Token 消耗计数,预期增加 10 次,最终只统计到 3~5 次。
底层原理:线程读取数值、自增、写回三步操作被调度打断,多条线程读取到相同旧值覆盖结果。