腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
5
回答
公平
临界
区
(
Linux
)
linux
、
pthreads
、
mutex
、
critical-section
在多线程
Linux
应用程序中,我对
临界
区
使用互斥。除了公平性问题之外,这个方法运行得很好。可能会发生这样的情况,一个线程离开
临界
区
并立即重新进入,不会给任何其他线程一个机会。critsect.leave();很可能会阻止任何其他线程进入相同的
临界
区
。Mutexe是不公平的。 有没有一个解决方案来做一个公平的关键部分?
浏览 1
提问于2011-06-23
得票数 5
2
回答
临界
区
负锁计数
deadlock
代码使用
临界
区
作为同步原语,我认为这里有一些问题。此外,调试器还指向其他线程拥有的
临界
区
,但锁计数为-2。根据我的理解,锁count>0意味着
临界
区
被一个或多个线程锁定。所以有没有可能我正在寻找正确的
临界
区
,它可能是死锁的罪魁祸首。 在什么情况
下
,
临界
区
的锁计数可能为负值?
浏览 3
提问于2009-06-26
得票数 13
回答已采纳
1
回答
如何进行内核线程通信?
linux-kernel
、
multithreading
如何让内核模块中的线程进行通信?我正在编写一个内核模块,我的架构将使用三个需要通信的线程。到目前为止,我的研究让我相信唯一的方法是使用共享内存(声明全局变量)和锁定机制来同步线程之间的读/写。关于这方面的资料相当稀缺。
浏览 2
提问于2011-08-12
得票数 3
回答已采纳
5
回答
Delphi:通过报告锁“失败”的运行线程的调用堆栈来调试
临界
区
挂起
multithreading
、
delphi
、
deadlock
、
critical-section
我正在寻找一种方法来调试罕见的Delphi7
临界
区
(TCriticalSection)挂起/死锁。在这种情况
下
,如果线程在
临界
区
上等待超过10秒,我希望生成一个报告,其中包含当前锁定
临界
区
的线程的堆栈跟踪,以及等待10秒后未能锁定
临界
区
的线程的堆栈跟踪。如果出现异常或应用程序终止,则没有问题。如果可能,我更喜欢继续使用
临界
区
,而不是使用其他同步原语,但可以在必要时切换(例如获得超时功能)。
浏览 0
提问于2010-09-16
得票数 9
回答已采纳
2
回答
LeaveCriticalSection()收益率
multithreading
、
winapi
、
posix
我有两个线程共享一个
临界
区
。,线程B似乎永远没有机会获得
临界
区
。相反,对线程B中的EnterCriticalSection(秒)的调用将永远阻塞该线程,尽管线程A每秒解锁
临界
区
50次。如果是这样的话,有没有办法在释放
临界
区
锁之后显式地向其他线程让步?有谁能解释一
下
这个问题吗? 谢谢!
浏览 3
提问于2013-09-21
得票数 0
2
回答
peterson的解决方案如何解决有界等待?
multithreading
、
operating-system
《恐龙》一书说,
临界
区
问题的解决方案必须满足互斥、进步和有界等待do { turn=j;int turn; boolean flag[2];
浏览 0
提问于2016-05-25
得票数 2
2
回答
让高优先级python线程进入
临界
区
,低优先级线程在
临界
区
执行
python
、
python-3.x
、
multithreading
目前,当一个线程到达
临界
区
时,如果没有线程正在执行
临界
区
,它将进入
临界
区
。否则,请等待锁定解除后进入
临界
区
。(它的工作原理应该是同步)。但是我有一个高优先级线程,不管低优先级线程是否在
临界
区
,它都应该进入
临界
区
。这个是可能的吗?如果是这样,我该如何实现它呢?
浏览 55
提问于2019-05-19
得票数 2
回答已采纳
1
回答
在自定义
linux
内核系统调用中强制代码段是原子的
c
、
linux
、
linux-kernel
、
locking
、
critical-section
我一直在尝试实现一个给我带来问题的
linux
system_call,我怀疑这是因为我的代码没有锁(或者可能是抢占)。有没有办法确保每次在
linux
内核中进行任何系统调用时发生的这个
临界
段都是不可抢占的,并且必须在其他任何事情发生之前完成执行?
浏览 0
提问于2012-12-12
得票数 2
回答已采纳
3
回答
如果主线程持有
临界
区
,如果函数也在主线程上,那么试图获取
临界
区
的函数会阻塞吗?
multithreading
、
delphi
为了确保我已经在其中放置了enter和exit
临界
区
代码。同样的
临界
区
也用于程序启动(进入
临界
区
)和终止(离开
临界
区
)。我的方法对于理解哪个函数在哪个线程中起作用是否正确?
浏览 0
提问于2012-08-29
得票数 2
回答已采纳
3
回答
嵌套
临界
区
是否有效?
c++
、
winapi
、
critical-section
例如,这是否有效?::EnterCriticalSection( &cs ); // Second level ::LeaveCriticalSection( &cs );
浏览 0
提问于2011-09-01
得票数 20
回答已采纳
1
回答
如何在中断上下文和进程上下文之间提供同步
c
、
linux-kernel
、
operating-system
、
synchronization
、
interrupt-handling
我对
linux
内核中的同步有一点怀疑,即在中断上下文模式和进程上下文之间适合什么样的锁定技术来保护
临界
区
。 提前感谢……
浏览 2
提问于2016-05-03
得票数 2
1
回答
在FreeRTOS中使用流缓冲时,可以使用互斥锁而不是
临界
区
吗?
mutex
、
message-queue
、
freertos
、
critical-section
、
mutual-exclusion
我正在考虑使用FreeRTOS中的流缓存器将CAN帧从多个任务传输到ISR,一旦准备就绪,它就会将它们放入CAN传输缓冲
区
中。here手册解释说,流缓冲
区
只能由一个任务/isr使用,并由一个任务/isr读取,如果不是,则需要一个
临界
区
。 在这种情况
下
,可以使用互斥来代替
临界
区
吗?使用它会更有意义吗?
浏览 50
提问于2019-12-23
得票数 3
1
回答
关键部分和关闭/销毁?
c
、
windows
、
multithreading
、
mutex
、
critical-section
当你有一个包含
临界
区
CS和指向另一个对象OBJ2的指针的对象OBJ1时,我不知道什么是正确的关闭过程A进入
临界
区
,修改OBJ2中的数据,离开
临界
区
。B是关闭/销毁过程,应销毁所有内容(OBJ2、CS和OBJ1)你如何解决A因为B已经进入
临界
区
而等待进入
临界
区
的情况?B会毁掉一切。如果“销毁”(出于某种有趣的原因)导致/允许A进入
临界
<e
浏览 0
提问于2014-02-11
得票数 1
2
回答
如何在Swift中实现等待/通知
swift
、
multithreading
、
synchronization
//do something上面是一个条件同步块,它等待一个条件成功执行一个
临界
区
。当执行a.wait (比方说100ms)时,线程会在此期间退出
临界
区
&由对象a执行的一些其他
临界
区
,这会使条件为真。 当条件成功时,下一次当前线程进入
临界
区
并计算条件时,循环退出并执行代码。要注意的要点: 1.多个
临界
区
由同一对象同步。2.线程仅在等待期间不处于
临界
区</em
浏览 1
提问于2018-08-11
得票数 3
1
回答
Linux
下
C语言中的block alarm()
linux
、
block
、
sync
、
alarm
在我的程序中有一个
临界
区
,所以如果在
临界
区内发生超时,那么我想在
临界
区
之后推迟报警。main() { ...enable_alarm(); //if alarm happens during it's disabled, program must exit here. } 在这种情况
下
,我应该为
浏览 1
提问于2013-05-11
得票数 0
1
回答
临界
区
定义
c
、
linux
、
operating-system
、
pthreads
、
critical-section
在下面的示例代码中,“关键部分”在哪里?在"sem_wait()“之后?#include <unistd.h>#include <pthread.h>void * thread_rcv(void *arg);int number=0;
浏览 1
提问于2013-04-16
得票数 0
1
回答
变量的线程保护
c++
、
multithreading
、
mutex
、
critical-section
但互斥和
临界
区
更适合一段代码。在变量的情况
下
,将锁定和解锁代码放在使用变量的任何地方看起来都很丑陋。有没有比互斥锁和
临界
区
更简单的方法?
浏览 1
提问于2015-02-16
得票数 0
1
回答
Go中的递归
临界
区
recursion
、
concurrency
、
go
、
mutex
但是,我找不到任何合理的方法来实现一个非常常见的并发模式--可重入或递归
临界
区
。 粗略地说: goroutines A和B将竞争一个
临界
区
上的锁(比如结构中的某个状态需要进行原子修改)。但是,A会递归,可能需要多次进入
临界
区
。当它在进入
临界
区
时退出
临界
区
,goroutine B将获得锁,依此类推。我想用通道来实现这一点(或者在Go中以任何可能的方式实现),而不必通过可能通过
临界
区
的
浏览 0
提问于2015-05-27
得票数 3
4
回答
在
临界
区
中是否可以进行上下文切换?
multithreading
最近我读了一个比较互斥锁和信号量的有趣博客:引述如下:如果在该任务处于
临界
区
时发生上下文切换,并且另一任务也调用P(S),则该第二任务(以及任何后续任务)将通过被操作系统置于等待状态而被阻止进入
临界
区
稍后,第一个任务被重新调度,并调用V(S)以指示它已离开
临界
区
。现在将允许第二个任务访问关键区域。“ 如果这对于信号量是正确的,那么对于互斥量也是如此吗?
浏览 0
提问于2010-06-24
得票数 8
3
回答
惠普DL380G6:临时工在哪里?传感器#29 (系统区域)
hp
、
hp-proliant
、
physical-environment
、
fan
内存区域n/a n/a警告: 87C;
临界
:92 95C临时温度8:电源
区
Ok 19C警告: 90C;
临界
:95 95C 9:电源
区
Ok 16C警告: 65C;
临界
:70 95C 10: I/O板区域Ok19C警告: 90C;关键:95 95C 11: I/O板
区
Ok 15C警告: 70C;
临界
:75 95C 12: I/O板
区
Ok 20C警告: 90C;
临界
:95 95C 13: I
浏览 0
提问于2014-03-08
得票数 4
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
如何判断代码是否处于临界区
如何判断代码是否处于临界区
Libc Realpath缓冲区下溢漏洞,可导致Linux本地提权
Linux下MySQL安装
Linux下安装Java
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券