mutex的使用(请教linux irq 中断能使用mutex互斥锁吗)

:暂无数据 2026-06-15 07:40:02 :0

mutex的使用(请教linux irq 中断能使用mutex互斥锁吗)

其实mutex的使用的问题并不复杂,但是又很多的朋友都不太了解请教linux irq 中断能使用mutex互斥锁吗,因此呢,今天小编就来为大家分享mutex的使用的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

请教linux irq 中断能使用mutex互斥锁吗

从 Backtrace 来看,应该是 i2c_transfer 中调用 mutex_lock 导致 schedule 调用而产生 进程调度,导致死机. 而在中断上下文,这种情况是绝对不允许发生的.换句话说是不允许
睡眠的,不允许进程调度. 

你可以 把 mutex_lock 注释掉再试试 .

Linux mutex为什么不能用在中断函数

Linux mutex不能用在中断函数原因:Backtrace来看,应该是i2c_transfer中调用mutex_lock导致schedule调用。

pthread_mutex_lock(&qlock);表示尝试去把qlock上锁,它会先判断qlock是否已经上锁,如果已经上锁这个线程就会停在这一步直到其他线程把锁解开。它才继续运行。所以代码中要么是线程1先执行完后执行线程2,要么就是线程2先执行,再执行线程1.而线程3一开始就执行了。

中断函数防止方法:

要防止中断冲突,其实就是要知道什么设备容易产生中断冲突,只要知道了这点,在使用这些设备时稍微注意一下就可以了。下面我列出一些容易冲突的设备,希望对读者有用。

1、声卡:一些早期的ISA型声卡,系统很有可能不认,就需要用户手动设置(一般为5)。

2、内置调制解调器和鼠标:一般鼠标用COM1,内置调制解调器使用COM2的中断(一般为3),这时要注意此时COM2上不应有其它设备。

Mutex类怎么正确使用

这个问题还是去我的论坛看看 Demo吧. Mutex 主要实现 线程互斥,锁顶
http://www.p-mind.cn/bbs/viewthread.php?tid=103&extra=page%3D1&frombbs=1

www.p-mind.cn
bbs.p-mind.cn
编程语言论坛,欢迎你的加入,你我共同进步....

用互斥对象(Mutex)来完成两个子程序的互斥

楼主,你的程序也太乱了吧。
Mutex的用法也很简单,在main函数里创建一个Mutex,在线程里进入一段代码前用WaitForSIngleObject,退出代码后用ReleaseMutex就行了。
下面是从static int count=5开始的程序,前面的不用改。
static int count=5;
static HANDLE h1;
static HANDLE h2;
HANDLE g_hMutex;
void func1();
void func2();
int _tmain(int argc, TCHAR* argv, TCHAR* envp)
{
int nRetCode = 0;
DWORD dwThreadID1,dwThreadID2;
g_hMutex = CreateMutex(NULL, FALSE, NULL);
h1=CreateThread((LPSECURITY_ATTRIBUTES)NULL,
0,
(LPTHREAD_START_ROUTINE)func1,
(LPVOID)NULL,
0,&dwThreadID1);
if(h1==NULL)
printf(“Thread1 create Fail!\n“);
else
printf(“Thread1 create Success!\n“);
h2=CreateThread((LPSECURITY_ATTRIBUTES)NULL,
0,
(LPTHREAD_START_ROUTINE)func2,
(LPVOID)NULL,
0,&dwThreadID2);
if(h1==NULL)
printf(“Thread2 create Fail!\n“);
else
printf(“Thread2 create Success!\n“);
Sleep(1000);
CloseHandle(h1);
CloseHandle(h2);
ExitThread(0);
return nRetCode;
}
void func2()
{
int r2;
WaitForSingleObject(g_hMutex, INFINITE);
r2=count;
_sleep(100);
r2=r2+1;
count=r2;
printf(“count in func2=%d\n“,count);
ReleaseMutex(g_hMutex);
}
void func1()
{
int r1;
WaitForSingleObject(g_hMutex, INFINITE);
r1=count;
_sleep(500);
r1=r1+1;
count=r1;
printf(“count in func1=%d\n“,count);
ReleaseMutex(g_hMutex);
}

如果你还想了解更多这方面的信息,记得收藏关注本站。

mutex的使用(请教linux irq 中断能使用mutex互斥锁吗)

本文编辑:admin

更多文章:


协方差计算公式(协方差的计算公式)

协方差计算公式(协方差的计算公式)

这篇文章给大家聊聊关于协方差计算公式,以及协方差的计算公式对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 08:10

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

本篇文章给大家谈谈易语言网页api接口怎么调用,以及易语言,怎么读取网页json的api对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月11日 08:00

majority of(the majority of 和 a majority of的区别以及用法例句)

majority of(the majority of 和 a majority of的区别以及用法例句)

这篇文章给大家聊聊关于majority of,以及the majority of 和 a majority of的区别以及用法例句对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 07:40

汉字机内码查询表(1个汉字的机内码是几位谢谢)

汉字机内码查询表(1个汉字的机内码是几位谢谢)

大家好,关于汉字机内码查询表很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于1个汉字的机内码是几位谢谢的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月11日 07:20

promote翻译(英语翻译倡导怎么说)

promote翻译(英语翻译倡导怎么说)

其实promote翻译的问题并不复杂,但是又很多的朋友都不太了解英语翻译倡导怎么说,因此呢,今天小编就来为大家分享promote翻译的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 06:30

用手机如何导航?开车用手机导航哪个软件最好

用手机如何导航?开车用手机导航哪个软件最好

今天给各位分享用手机如何导航的知识,其中也会对用手机如何导航进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 06:20

多线程技术有什么用(多线程有什么作用)

多线程技术有什么用(多线程有什么作用)

其实多线程技术有什么用的问题并不复杂,但是又很多的朋友都不太了解多线程有什么作用,因此呢,今天小编就来为大家分享多线程技术有什么用的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 05:40

another time(another time和other time的区别)

another time(another time和other time的区别)

大家好,another time相信很多的网友都不是很明白,包括another time和other time的区别也是一样,不过没有关系,接下来就来为大家分享关于another time和another time和other time的区

2026年10月11日 05:00

java开发工具包jdk(JDK是什么意思)

java开发工具包jdk(JDK是什么意思)

其实java开发工具包jdk的问题并不复杂,但是又很多的朋友都不太了解JDK是什么意思,因此呢,今天小编就来为大家分享java开发工具包jdk的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 04:50

mysql 命令(MySQL的基本命令)

mysql 命令(MySQL的基本命令)

大家好,如果您还对mysql 命令不太了解,没有关系,今天就由本站为大家分享mysql 命令的知识,包括MySQL的基本命令的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 03:00

最近更新

majority of(the majority of 和 a majority of的区别以及用法例句)
2026-10-11 07:40:02 浏览:0
热门文章

标签列表