OceanBase 数据库根据租户的 cpu_count * cpu_quota_concurrency 来计算活跃线程数,这些线程在租户创建的时候就会被创建好。例如,线程 A 是个活跃线程,它因为执行大查询被挂起了,这时活跃线程就少了一个,作为补充,这个租户会额外再创建一个活跃线程。但是一个租户能创建的线程总数也是有限制的,总数限制为 cpu_count* workers_per_cpu_quota。当租户线程数到达上限后,新创建线程会失败,线程 A 不会被挂起,以保持活跃线程数始终不变。举个例子,假设一个租户配置了 16 个 CPU,集群的 cpu_quota_concurrency 设置为2,那么这个租户最多会有 16 * 2 = 32 个活跃的 SQL 线程,控制活跃线程数是 OceanBase 数据库的用户态线程调度器实现的。