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