当前位置:首页>Linux>Linux内核各类锁机制区别对比及使用场景

Linux内核各类锁机制区别对比及使用场景

  • 2026-02-25 12:42:30
Linux内核各类锁机制区别对比及使用场景

在 Linux 6.6 内核中,并发与竞态是内核设计中无法回避的核心问题,其本质是多个执行路径(如进程、中断、软中断)同时访问共享资源,导致数据错乱或执行逻辑异常。为解决这一问题,内核提供了多种同步机制,其中中断屏蔽、原子操作、自旋锁、RCU 锁、信号量、互斥体最为常用。需要注意的是,中断屏蔽仅能屏蔽中断引发的竞态,无法解决进程间或 SMP 架构下的多核竞态,且单独使用会导致中断丢失,因此很少单独应用;原子操作因自身限制仅适用于简单场景,故而自旋锁、互斥体、RCU 锁及信号量在实际内核开发中应用更为广泛。以下结合 Linux 6.6 内核实际实现,详细对比各类机制的区别,并明确其适用场景。

一、各类锁机制(含原子操作)核心区别对比

Linux 6.6 内核中,各类同步机制的核心差异体现在实现原理、阻塞行为、临界区要求等方面,以下表格从关键维度进行全面对比,贴合内核实际运行特性:

同步机制
核心原理(Linux 6.6 实现)
阻塞/等待行为
临界区要求
是否可递归
性能特点(内核实际表现)
核心限制
原子操作
基于 CPU 原子指令(如 cmpxchg、xadd),封装为 atomic_t、refcount_t 等接口,保证单个整数/位操作的不可分割性,无需上下文切换
无阻塞、无等待,操作瞬间完成
仅支持单个整数(或位)操作,无法包含复杂逻辑
无递归概念(操作本身不可分割)
最快(纳秒级),无上下文切换开销,几乎不消耗额外 CPU 资源
仅支持整数/位操作,不能保护多步逻辑或复杂共享资源(如结构体、缓冲区)
自旋锁(spinlock_t)
基于 CPU 原子指令实现锁状态检测,锁定失败时会循环自旋(CPU 空转)等待锁释放;SMP 架构下自动禁用抢占,中断上下文使用时需配合关中断(spin_lock_irqsave)
忙等(自旋),不睡眠、不进行上下文切换,锁定期间占用 CPU
极短(微秒级),需快速执行完成,避免长时间自旋浪费 CPU
不可递归(递归锁定会导致死锁,Linux 6.6 中无默认递归支持)
快(微秒级),无上下文切换开销,但自旋期间 CPU 利用率为 100%,冲突频繁时性能急剧下降
持有期间不能睡眠(如调用 schedule())、不能阻塞;不适用于临界区较长或冲突频繁的场景;单 CPU 架构下自旋无意义(仅禁用抢占即可)
RCU 锁(Read-Copy-Update)
读写分离机制,读操作无需加锁(无阻塞),写操作拷贝一份共享资源副本进行修改,修改完成后通过内核垃圾回收机制(RCU grace period)释放旧副本;Linux 6.6 支持可抢占 RCU(PREEMPT_RCU),适配低延迟场景
读操作无阻塞、无等待;写操作仅在副本切换和垃圾回收时存在轻微延迟,不阻塞读操作
读操作可长可短,写操作需尽量简洁(减少副本占用资源)
读操作无递归限制;写操作不可递归(避免多次拷贝导致混乱)
读操作性能极高(接近无锁),写操作性能略低(存在拷贝和回收开销);读写并发场景下性能优势显著
仅适用于“读多写少”场景;写操作开销较高,不适用于写频繁场景;需保证读操作期间不修改共享资源(仅读)
信号量(struct semaphore)
基于计数器实现,计数器大于 0 时可获取锁(计数器减 1),等于 0 时阻塞等待(放入等待队列);Linux 6.6 中支持可睡眠信号量,依赖调度器实现上下文切换
阻塞等待(睡眠),获取不到锁时会放弃 CPU,进入 TASK_INTERRUPTIBLE 或 TASK_UNINTERRUPTIBLE 状态,等待锁释放后被唤醒
无严格限制,可支持较长临界区(毫秒级及以上)
可递归(需手动配置,但不推荐,易导致死锁难以排查)
中等(毫秒级),存在上下文切换开销,冲突频繁时开销累积;计数器可配置,支持多进程/线程同时获取(如计数为 N 则允许 N 个执行路径进入)
不能用于中断上下文(中断中无法睡眠);上下文切换开销高于自旋锁,不适用于短临界区;可能存在优先级反转问题(Linux 6.6 可通过优先级继承缓解)
互斥体(struct mutex)
特殊的二元信号量(计数器仅为 0 或 1),保证同一时刻只有一个执行路径持有锁;Linux 6.6 中优化了互斥体实现,支持优先级继承、死锁检测,依赖调度器实现阻塞与唤醒
阻塞等待(睡眠),获取不到锁时放弃 CPU,进入等待队列,锁释放后被唤醒,支持可中断和不可中断等待
无严格限制,可支持较长临界区(毫秒级及以上),适用于复杂逻辑
不可递归(递归锁定会直接导致死锁,Linux 6.6 会检测并报错)
中等(毫秒级),上下文切换开销与信号量相当,但因是二元锁,冲突处理更简洁;比信号量更轻量(内核维护成本低)
不能用于中断上下文(无法睡眠);不适用于短临界区(上下文切换开销占比过高);同一时刻仅允许一个执行路径持有,不支持多线程并发进入

二、各类锁机制(含原子操作)各自使用场景

结合 Linux 6.6 内核的实际开发场景和机制特性,各类同步机制的适用场景明确区分,核心贴合参考内容中“原子操作限制、自旋锁临界区短、互斥体临界区长”的核心要点,具体如下:

1. 原子操作(atomic_t、refcount_t)

适用场景:仅用于简单的整数计数、标志位更新场景,无需保护复杂逻辑,核心是保证单个整数操作的原子性。

Linux 6.6 实际应用示例:内核中进程引用计数(refcount_inc/refcount_dec)、中断计数、设备状态标志位(如设备是否就绪的布尔型整数标记)、自旋锁的引用计数维护等。例如,当多个进程同时操作一个设备节点时,用原子操作更新“设备被引用次数”,避免计数错乱导致设备提前释放或泄漏。

注意:无法用于保护结构体、缓冲区等复杂共享资源,也不能包含多步逻辑(如先判断再修改的组合操作)。

2. 自旋锁(spinlock_t)

适用场景:参考内容明确“自旋锁会导致死循环,锁定期间不允许阻塞,因此要求锁定的临界区小”,结合 Linux 6.6 内核实际,主要用于中断上下文、软中断(底半部)、SMP 架构下的短临界区保护,且不允许睡眠的场景。

Linux 6.6 实际应用示例:中断处理函数与进程上下文共享的小型数据(如环形缓冲区的指针)、软中断与硬中断共享资源、多核 CPU 间的短时间资源竞争(如内核全局变量的快速修改)。例如,网络协议栈中,软中断处理数据包时,用自旋锁保护数据包队列的头部指针,确保指针修改的原子性,且临界区仅为指针赋值操作,执行时间极短。

注意:Linux 6.6 中,单 CPU 架构下自旋锁会自动退化为“禁用抢占”,无需自旋;中断上下文使用时必须配合关中断(spin_lock_irqsave),避免自旋期间被中断打断导致死锁。

3. RCU 锁(PREEMPT_RCU)

适用场景:核心是“读多写少”的场景,且读操作频繁、要求无阻塞,写操作不频繁、可接受轻微延迟,无需读操作阻塞写操作。

Linux 6.6 实际应用示例:内核链表的读写场景(如进程链表、模块链表)、文件系统的目录项查找(读多写少)、网络协议栈中的路由表查询(大部分是读操作,路由更新为写操作)。例如,内核中查找某个进程的 PID 时,读操作通过 RCU 锁直接访问进程链表,无需加锁阻塞,写操作(如进程创建/退出)拷贝链表节点修改,不影响读操作的正常执行。

注意:Linux 6.6 支持 PREEMPT_RCU,可在抢占式内核中使用,适配低延迟场景;写操作需避免过于频繁,否则拷贝和垃圾回收开销会抵消读操作的性能优势。

4. 信号量(struct semaphore)

适用场景:用于进程上下文,允许阻塞、临界区较长,且需要支持多个执行路径同时进入临界区(可配置计数器)的场景,或需要控制资源访问数量的场景。

Linux 6.6 实际应用示例:内核中资源池管理(如内存块池,计数器设为资源数量,限制同时访问的进程数)、设备驱动中的并发控制(如多个进程同时访问一个可共享的设备,允许有限个进程进入)、文件系统中的文件读写同步(如允许多个进程同时读文件)。

注意:不能用于中断上下文(中断中无法睡眠);Linux 6.6 中提供了 down()(不可中断等待)、down_interruptible()(可中断等待)等接口,根据场景选择;优先级反转问题可通过 CONFIG_MUTEX_PRIO_INHERIT 配置缓解。

5. 互斥体(struct mutex)

适用场景:参考内容明确“互斥体允许临界区阻塞,可以适用于临界区大的情况”,结合 Linux 6.6 内核实际,主要用于进程上下文,需要独占访问共享资源(同一时刻仅一个执行路径进入),且临界区较长、逻辑复杂的场景,是内核中应用最广泛的同步机制之一。

Linux 6.6 实际应用示例:设备驱动中的设备独占访问(如单个串口设备,同一时刻仅允许一个进程操作)、内核模块的加载与卸载同步、文件系统中的文件修改(如写文件时,独占文件避免多进程同时写导致数据错乱)、复杂结构体的读写保护(如设备私有数据结构体,包含多个字段,需要整体保护)。

注意:不能用于中断上下文;Linux 6.6 中优化了互斥体的死锁检测机制,当检测到递归锁定或死锁时,会打印内核警告;比信号量更轻量,优先用于“独占访问”场景,替代信号量(二元信号量)的使用。

三、核心总结

  1. 原子操作:最简单的同步机制,仅适用于整数/位操作,无阻塞、性能最优,但限制极强;

  2. 自旋锁:适用于中断上下文、短临界区,忙等无上下文切换,但自旋耗 CPU,临界区必须极短;

  3. RCU 锁:读多写少场景的最优选择,读操作无阻塞,写操作有拷贝开销,不适用于写频繁场景;

  4. 信号量:进程上下文、支持多进程并发进入,允许长临界区,但上下文切换开销高,可用于资源数量控制;

  5. 互斥体:进程上下文、独占访问,支持长临界区,轻量且安全,是内核中最常用的同步机制(替代自旋锁的长临界区场景、信号量的二元独占场景)。

整体来看,Linux 6.6 内核中,中断屏蔽仅作为辅助机制(配合自旋锁使用),原子操作用于简单计数,自旋锁、互斥体、RCU 锁、信号量根据“上下文类型、临界区长度、读写比例、是否独占”四大核心因素选择。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-28 16:10:56 HTTP/2.0 GET : https://f.mffb.com.cn/a/476169.html
  2. 运行时间 : 0.105864s [ 吞吐率:9.45req/s ] 内存消耗:4,769.42kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=e01c5254a9771696e54eb08f78f91bfe
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000575s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000589s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000256s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000294s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000476s ]
  6. SELECT * FROM `set` [ RunTime:0.000189s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000519s ]
  8. SELECT * FROM `article` WHERE `id` = 476169 LIMIT 1 [ RunTime:0.000472s ]
  9. UPDATE `article` SET `lasttime` = 1772266257 WHERE `id` = 476169 [ RunTime:0.013556s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000223s ]
  11. SELECT * FROM `article` WHERE `id` < 476169 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000478s ]
  12. SELECT * FROM `article` WHERE `id` > 476169 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000374s ]
  13. SELECT * FROM `article` WHERE `id` < 476169 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001018s ]
  14. SELECT * FROM `article` WHERE `id` < 476169 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001007s ]
  15. SELECT * FROM `article` WHERE `id` < 476169 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.008680s ]
0.109714s