DEFINE_SPINLOCK
比spin_lock_init
更可取吗?前者比后者有哪些优点,可能有哪些缺点?
如果您有静态数据结构,DEFINE_SPINLOCK 允许您声明一个自旋锁变量并在一行中初始化它。 然而,对于在运行时分配的任何内容,例如当自旋锁嵌入到更大的结构中时,您需要分配内存,然后调用 spin_lock_init()。
我想我会说,当可以使用 DEFINE_SPINLOCK 时,我更喜欢它。 优点很小(编译时初始化与运行时初始化相比,少了几行代码),但没有真正的缺点。 正如我上面提到的,但通常无法使用 DEFINE_SPINLOCK。