Chinaunix
标题:
锁和信号处理的问题
[打印本页]
作者:
xidianyiming
时间:
2011-06-24 16:51
标题:
锁和信号处理的问题
这个问题 在环境编程板块发了 没人解答~~求内核版各位提点提点
关于Linux 互斥资源访问问题,互斥锁貌似只能在都遵照先上锁后访问的线程间实现对资源的互斥访问
但对其他那些不尝试加锁而直接访问资源的线程却没有作用
Linux下有没哪种方法保护资源 使其他线程不管以任何方式都无法访问。
另在线程加锁后处理互斥资源时,发生信号中断,能否进行信号处理,如果可以信号处理程序此时能否直接访问互斥资源,此时信号处理返回后,线程还是否继续????
作者:
crazyhadoop
时间:
2011-06-24 17:09
回复
1#
xidianyiming
中断的话,对强制锁有可能是灾难。
作者:
xidianyiming
时间:
2011-06-24 17:26
回复
2#
crazyhadoop
你好,你说的强制性锁貌似只针对文件而言,对于进程空间的变量呢?有类似强制性锁的机制吗?
作者:
crazyhadoop
时间:
2011-06-24 17:32
回复
3#
xidianyiming
那个mutex 不满足你的需求吗?
作者:
xidianyiming
时间:
2011-06-24 18:05
回复
4#
crazyhadoop
我只是问问,不是什么实际遇到的问题。因为文件的特殊性,如果没有强制性锁,则可能被其他进程访问(你无法阻止别的进程访问文件),而照成一些错误;而进程变量不同于文件,对其的访问完全是由程序员本身控制的,那么既然这个变量我要实现一种互斥访问,我就理所应当地遵循互斥锁的机制,给每一个要访问资源的线程加入上锁->处理->解锁的过程。为了程序的正确性,程序员不可能添加一个不遵照上锁机制的线程去随意访问互斥资源,这不自己找事么?所以,我感觉在进程内部,不大可能有类似强制性锁的机制,因为这并不合理。
我要的只是一个明确的答复....有或者木有?
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2