如何使用spinlock要哪个头文件

如何使用spinlock要哪个头文件,第1张

在kernel2.4.20下面衫敬帆:

include <或雹linux/spinlock.h>

spinlock_t mysiglock = SPIN_LOCK_UNLOCKED

unsigned int flags

再稿雹加上这个

#include <asm/system.h>

不会吧,我是这样想的,信号属于软中断,你可以发现当线程在等待锁(不管是互斥锁还是自旋锁)时,你在终端按下ctrl+C,这时程序就停止了,说明程禅知序收到了SIGINT信号,也就是说信号在锁等待时是接收的到的,当然用sigaction函数可以设定阻塞一些信号,但默认是不阻塞的。

软中断尚且能收到,硬中断我想应该更能收到吧

实际上大部分会阻塞的函数,比如read,write,select,connect等在阻塞时都能收到信号哗枯,所以中断应该也能收到,否则不合理

提醒一下,pthread中有两种锁,pthread_mutex_t 和 pthread_spinlock_t,其乱袭洞中pthread_mutex_t会阻塞,pthread_spinlock_t只是在不断自旋(轮询),不会阻塞


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8172420.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存