腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
sem_getvalue()在POSIX中的语义
、
、
、
、
我需要在代码中的某个点使用PThreads.解决同步问题,一个
线程
需要知道一个
信号量
上阻塞的
线程
数(如sempahore.h中所定义的)。当我看一看sem_getvalue(sem_t *s, int *sval)的手册页时,它指出返回值sval在
Linux
中是0,但根据POSIX可能有其他语义,即sval的绝对值被设置为
信号量
s上阻塞的
线程
数因此,我正在寻找一个
Linux
编译选项,以使这些替代语义成为可能。 我试图通过跟踪一个整数变量来模拟某个
信号量
浏览 2
提问于2019-05-12
得票数 0
1
回答
如何用AutoResetEvent从Windows移植到
Linux
进程间事件
、
、
、
在
Linux
中如何做到这一点?pthread函数似乎是
线程
间的通信。我不知道
信号量
在哪里可以提供与Windows相同的行为。Posix
信号量
似乎只释放了一个等待
线程
。如果
信号量
可以释放所有等待的
线程
,那么就可以工作了。
Linux
中有什么我遗漏的东西吗?
浏览 1
提问于2013-12-07
得票数 2
1
回答
信号服务生点菜
、
、
我们希望在
linux
中使用
信号量
(以及p
线程
)。谢谢。
浏览 3
提问于2014-01-01
得票数 0
回答已采纳
2
回答
完成变量和
信号量
之间的区别
、
、
在
linux
内核中,
信号量
用于为数据的关键部分提供互斥,完成变量用于在等待事件的两个
线程
之间进行同步。为什么不使用
信号量
进行这样的同步呢?使用完成变量比使用
信号量
有什么优势吗?
浏览 1
提问于2011-01-22
得票数 9
回答已采纳
2
回答
当进程被杀死时,有没有办法让
线程
从无限的
信号量
中出来等待?
、
、
、
、
语言:C当进程被杀死时,
线程
等待
信号量
为什么不结束?我在
Linux
论坛上看到有SEM_UNDO可以帮助解决这种情况。
浏览 4
提问于2011-11-18
得票数 1
1
回答
C:
信号量
-如何仅在n个回调后释放
信号量
、
、
我有一个
线程
,我想在其中(在特定的代码行)等待来自另一个
线程
的三个回调事件。只有在收到这三个事件之后,我才想继续。这既适用于
Linux
也适用于Win
浏览 2
提问于2013-03-04
得票数 1
回答已采纳
2
回答
预C++20
信号量
库
、
、
、
C++20将把计数和二进制
信号量
引入到语言中。同时,是否有一个C++11/14/17库提供类似的功能?所需特征:支持至少二进制
信号量
Libre许可证支持计数
信号量
小的(即不会拉进助推器或etc等)适当地使用C++11/14/17特性,特别是--如果需要的话,可以很好地使用std::
线程
。
浏览 0
提问于2020-03-08
得票数 1
2
回答
Linux
:锁定,但不是基于文件的锁定
、
、
、
锁/
信号量
应该是机器本地的(
linux
操作系统)。我想避免基于文件的锁,因为我不知道我应该把锁文件放在哪里。multiprocessing.Lock提供的锁没有帮助,因为两个python解释器都没有共享同一个父程序。我在
linux
上使用Python2.7。 如何同步
linux<
浏览 2
提问于2017-11-06
得票数 2
回答已采纳
1
回答
快速队列/并发和锁定
、
、
、
、
我通常使用串行队列作为锁定机制,以确保一个资源可以被许多不同的
线程
访问,而不会出现问题。但是,我已经看到过其他devs使用带有或不带
信号量
的并发队列的情况(在
Linux
上看到IBM/Swift使用带有
信号量
的并发队列)。另一方面,当cpu繁忙时会发生什么呢?如果我没记错的话,串行队列不一定在同一个
线程
/同一个cpu上执行,对吗?这将是我所能想到的唯一解释;并发队列
浏览 4
提问于2016-11-14
得票数 1
回答已采纳
2
回答
如何使用没有线和叉子的
信号量
?
、
、
、
我不能用多
线程
也不能用叉子。我只能让有一个可执行的,它必须运行多少次。但是,我只是找不到任何文档能够清楚地解释是如何工作的,而不需要执行
线程
、分叉、等等。 有人能帮我吗?
浏览 7
提问于2021-05-31
得票数 1
1
回答
POSIX命名的
信号量
能同步
线程
吗?
、
、
、
我正在寻找一种方法来同步
Linux
上的多个多
线程
进程。C++11风格的互斥只在单个进程内的
线程
之间运行,据我所知,flock并不相互排除同一个进程的
线程
。 因此,我想到了POSIX
信号量
。我知道未命名的
信号量
要么与
线程
相关,要么与进程相关,但两者都不相关。那名字的信号灯呢?很明显,它们同步进程,但是
线程
呢?我在文件中找不到明确的答案。
浏览 0
提问于2015-06-05
得票数 2
回答已采纳
1
回答
一个
线程
获取一个
信号量
,而另一个
线程
释放它的有效用例是什么?
、
Linux
信号量
和互斥锁之间的区别在于互斥锁可以由锁定它的
线程
解锁。但是,一个
线程
锁定和另一个
线程
解锁的用例是什么呢?
浏览 2
提问于2017-06-05
得票数 0
1
回答
用C++开发TASK_UNINTERRUPTIBLE内核和进程
线程
、
、
我有一个正在运行的进程,它创建了多个用户模式
线程
。如果内核将进程的状态更改为TASK_UNINTERRUPTIBLE (或TASK_INTERRUPTIBLE),该进程创建的
线程
是否会自动挂起?我正在读一本操作系统书,书中描述了
信号量
是如何实现的。在它们的实现中,
信号量
结构维护当前等待
信号量
的进程的链表。据我所知,这样的
信号量
只能用来同步进程,不能用来同步
线程
。对,是这样?链表中的
线程
被置于TASK_INTERRUPTIBLE状态,直到
信号量<
浏览 1
提问于2012-11-20
得票数 1
回答已采纳
3
回答
成千上万的读取器/写入器锁在一个进程中。
、
、
、
、
我目前正在设计一个具有大规模同步模式的C++跨平台(
Linux
/Windows)服务器应用程序。我在内部使用boost::
线程
作为操作系统特定
线程
的抽象。我的应用程序的另一个特性是,在给定的时间内,大多数
信号量
是不活动的(通常大约有32个“客户端”
线程
在数千个
信号量
上等待/发送信号)。注意,由于整个服务器在一个进程中运行,所以我使用基于
线程
的轻量级
信号量
(而不是进程间
信号量
)。 是否建议在<e
浏览 9
提问于2011-08-06
得票数 6
1
回答
为什么我们需要单cpu上的
信号量
?
我读过我们在
linux
中使用
信号量
,并且我看到
信号量
甚至在一个cpu中也有优势(我们只能运行一个进程\
线程
)。有人能给我举一个
信号量
解决问题的例子(在内核中)吗?
浏览 1
提问于2019-05-09
得票数 1
2
回答
不带RTOS的Semaphore.h
、
、
我想知道我是否可以将
信号量
和互斥用于用C++编写的
Linux
OS和API semaphore.h。我在考虑使用RTOS,但我对引导加载程序以及如何在芯片或嵌入式环境中安装
Linux
或其他操作系统一无所知。是否有可能在使用非RTOS时获得
信号量
的
浏览 0
提问于2015-05-08
得票数 0
1
回答
为什么POSIX将
信号量
标准化为系统调用,而将互斥和条件变量留给P
线程
(用户级别)
、
、
、
、
为什么POSIX将对
信号量
的支持标准化为syscall,而将条件变量和互斥对象留给
线程
库呢?我也不知道。猜测性能是不将互斥实现为syscall的考虑因素。(原子硬件指令是无特权的,因此在用户级别实现它们是可能的。尽管
Linux
提供了futex,但它实际上正试图将自旋锁优化为两阶段锁,以实现睡眠锁)。
信号量
的原因是
信号量
可以被不
浏览 4
提问于2020-03-03
得票数 1
回答已采纳
1
回答
如何在android多
线程
中创建屏障
、
、
我在
Linux
上的多
线程
项目中需要一个屏障。我知道pthread_barrier_init()和pthread_barrier_wait(),但是我想在android上运行我的项目。它没有这些功能。我想使用
信号量
,我可以使用
信号量
来实现它吗?
浏览 1
提问于2011-09-26
得票数 0
回答已采纳
1
回答
二进制
信号量
和互斥量有什么区别?
、
、
我想知道二元
信号量
和互斥量之间的区别?这些是一样的吗?二进制
信号量
的值为1和0,具有互斥锁和解锁。 我真的对这些术语感到困惑。我指的是应用程序级编程透视图。在一次采访中,我被问及这个问题,并解释说
信号量
是用来发送信号的,互斥是用来锁定的。请用简单的例子来解释。我在googled上搜索了一下,但是知道除了上面的区别之外,
信号量
锁可以被其他
线程
解锁,而互斥锁必须由锁它的
线程
解锁。
浏览 3
提问于2015-03-20
得票数 2
2
回答
如何避免在用户模式下抢占
线程
?
、
、
、
、
由于第一条指令采用自制的
信号量
(spinlock),而最后一条指令释放它,所以在其他内核上运行的所有其他
线程
都可以安全地接收并发出相同的
信号量
。当某个
线程
在
信号量
完成“关键部分”之前中断一个
线程
时,问题就出现了。最糟糕的情况是,中断会在保持
信号量
的同时杀死
线程
,或者可能发生的情况是,通常竞争
信号量
的
线程
中有一个分支到代码中,这些代码可以生成中断,导致死锁。哦,这都是我自己的内部数据,除了自制的
信号量
浏览 4
提问于2012-04-09
得票数 5
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
Linux系统编程 信号量
并发编程 - 线程同步(九)之信号量Semaphore
linux多线程服务器
Linux系统编程 线程属性
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券