是的,set_bit 函數在 Linux 中是原子操作
set_bit 函數的原型如下:
#include <stdint.h>
void set_bit(volatile unsigned long *addr, unsigned int bit);
其中,addr 是一個指向無符號長整型變量的指針,bit 是要設置的位。這個函數會原子地將指定位置的位設置為 1。
原子操作意味著在多線程或多進程環境下,set_bit 函數在執行過程中不會被其他線程或進程中斷,從而確保數據的一致性。