腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
如何在android多
线程
中创建屏障
、
、
我在
Linux
上的多
线程
项目中需要一个屏障。我知道pthread_barrier_init()和pthread_barrier_wait(),但是我想在android上运行我的项目。它没有这些功能。我知道如何使用原子添加和原子比较来
实现
它。我想使用
信号量
,我可以使用
信号量
来
实现
它吗?
浏览 1
提问于2011-09-26
得票数 0
回答已采纳
1
回答
为什么POSIX将
信号量
标准化为系统调用,而将互斥和条件变量留给P
线程
(用户级别)
、
、
、
、
为什么POSIX将对
信号量
的支持标准化为syscall,而将条件变量和互斥对象留给
线程
库呢?我也不知道。猜测性能是不将互斥
实现
为syscall的考虑因素。(原子硬件指令是无特权的,因此在用户级别
实现
它们是可能的。尽管
Linux
提供了futex,但它实际上正试图将自旋锁优化为两阶段锁,以
实现
睡眠锁)。
信
浏览 4
提问于2020-03-03
得票数 1
回答已采纳
2
回答
它所说的‘释放
信号量
的
线程
不一定是获得它的
线程
’是什么意思?
、
在中, 这里的
信号量
是指在繁忙等待中
实现
的
信号量
,还是使用进程阻塞
实现
的
信号量
? 谢谢。
浏览 4
提问于2016-10-28
得票数 2
1
回答
二进制
信号量
和互斥量有什么区别?
、
、
我想知道二元
信号量
和互斥量之间的区别?这些是一样的吗?二进制
信号量
的值为1和0,具有互斥锁和解锁。 我真的对这些术语感到困惑。我指的是应用程序级编程透视图。在一次采访中,我被问及这个问题,并解释说
信号量
是用来发送信号的,互斥是用来锁定的。请用简单的例子来解释。我在googled上搜索了一下,但是知道除了上面的区别之外,
信号量
锁可以被其他
线程
解锁,而互斥锁必须由锁它的
线程
解锁。
浏览 3
提问于2015-03-20
得票数 2
1
回答
问: Mac和GCD,在GCD中寻找rwlock等效项
、
、
、
我正在维护一些在Windows和几个UNIX平台上运行的软件: Mac、
Linux
、AIX和Solaris。它在pthread或Win32
线程
之上
实现
了一个
线程
基础设施。我开始在这个基础设施中
实现
rwlock,以便我们的开发人员可以使用它们。到现在为止还好。在Mac上,我们最初使用普通的pthread
实现
线程
,但发现性能非常差,因为OS X的pthread互斥总是进行系统调用。Apple建议我们使用GCD分派
信号量
,这很好用,性能有了相当大的提高,因为
浏览 12
提问于2016-07-18
得票数 1
回答已采纳
1
回答
Mac中的sem_getvalue()功能障碍- C++
、
、
我正在尝试通过
信号量
为Mac中的多个
线程
实现
共享内存的同步使用。但显然,要获得
信号量
的当前值,只有sem_getvalue(),它还没有在mac中
实现
。对于没有运行
linux
操作系统并且应该在几个小时内上传作业的人有什么建议吗??!:) 谢谢
浏览 1
提问于2013-05-21
得票数 5
回答已采纳
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
2
回答
Linux
内核--如何阻止一个
线程
等待
信号量
?
、
、
、
、
在编写
Linux
内核模块时,我遇到了一个问题,在等待
信号量
解锁时,我无法唤醒这个问题。这将导致
线程
不可阻挡,并导致rmmod在卸载模块时冻结。它代表了一个简单的生产者消费者问题,列表不受大小限制(因此不需要生产者
信号量
)并由互斥保护。从列表中获取某些内容的函数由一个
信号量
来保护,
信号量
由生产者提高,被消费者击倒。我如何唤醒并停止k
线程
等待
信号量
成功卸载模块?列表
实现
: #include <
linux
/
浏览 8
提问于2016-10-20
得票数 3
回答已采纳
1
回答
如何用AutoResetEvent从Windows移植到
Linux
进程间事件
、
、
、
在
Linux
中如何做到这一点?pthread函数似乎是
线程
间的通信。我不知道
信号量
在哪里可以提供与Windows相同的行为。Posix
信号量
似乎只释放了一个等待
线程
。如果
信号量
可以释放所有等待的
线程
,那么就可以工作了。
Linux
中有什么我遗漏的东西吗?
浏览 1
提问于2013-12-07
得票数 2
1
回答
使用Mutex在Windows上与
线程
连接IPC
、
、
我在Windows上用互斥
实现
了IPC,但是当我与另一个
线程
建立连接时,出现了问题;当
线程
终止时,连接就关闭了。连接
线程
(A)连接到服务器
信号量
可以在
Linux
上替代,但是在Windows上,不
浏览 0
提问于2012-05-09
得票数 1
回答已采纳
3
回答
Linux
下
信号量
队列中查询顺序的控制
、
、
、
我想要
实现
代码,在其中我应该为不同的
线程
分配几个“优先级编号”。一些
线程
可能在同一个
信号量
上等待。假设
线程
在
信号量
S上排队,而另一个
线程
在
信号量
S上执行sem_post,当执行sem_post时,我希望在
信号量
S队列中具有最高“优先级数”的
线程
获得对
信号量
的访问,而不是任何其他
线程
。据我所知,没有直接的方法来
实现
这一点,因为将选择用于访问的
线程
可
浏览 0
提问于2013-11-16
得票数 3
回答已采纳
1
回答
是否有一种方法可以在
Linux
上原子地刷新C++中的二进制
信号量
?
、
、
、
、
一些内核在
信号量
上提供了"“操作,以解除所有等待
信号量
的任务的阻塞。我在
Linux
上
实现
了一个C++类,它的行为类似于二进制
信号量
,并且还具有这种“刷新”功能。不幸的是,
Linux
上的不像API那样提供刷新()或广播()。 我尝试过的:使用 来
实现
二进制
信号量
。比方说,我们有两个
线程
在等待一个BinarySem (即它们都调用了take())。让这些
线程
是hiPrioThread和loPrioThread
浏览 1
提问于2020-03-02
得票数 7
回答已采纳
2
回答
sem_init与sema_init的区别
、
、
、
、
sema_init和sem_init有什么区别?各个接口是否有特定的使用场景和其他依赖关系?
浏览 2
提问于2010-07-05
得票数 2
回答已采纳
4
回答
一般信号范围是什么?
、
、
、
一般
信号量
的范围是多少。我知道它可以采用负值,0和1。负值显示块队列中阻塞的进程数。0表示没有进程处于块中,而1表示没有进程抢占它的可用资源,我想知道它的值是否可能大于1。这是否意味着我们拥有一个
信号量
的多个资源?
浏览 1
提问于2013-12-18
得票数 5
回答已采纳
1
回答
信号服务生点菜
、
、
我们希望在
linux
中使用
信号量
(以及p
线程
)。谢谢。
浏览 3
提问于2014-01-01
得票数 0
回答已采纳
1
回答
python
线程
模块中对
信号量
的需求
、
Python
线程
模块没有
实现
真正的并行编程。
线程
之间相互交换。那么,
信号量
是必要的吗?
信号量
用于向应同时处理的其他
线程
发送信号。我认为它只在多进程中有用。为什么
信号量
类在
线程
模块中?
浏览 1
提问于2015-05-14
得票数 1
2
回答
完成变量和
信号量
之间的区别
、
、
在
linux
内核中,
信号量
用于为数据的关键部分提供互斥,完成变量用于在等待事件的两个
线程
之间进行同步。为什么不使用
信号量
进行这样的同步呢?使用完成变量比使用
信号量
有什么优势吗?
浏览 1
提问于2011-01-22
得票数 9
回答已采纳
2
回答
当进程被杀死时,有没有办法让
线程
从无限的
信号量
中出来等待?
、
、
、
、
语言:C当进程被杀死时,
线程
等待
信号量
为什么不结束?我在
Linux
论坛上看到有SEM_UNDO可以帮助解决这种情况。
浏览 4
提问于2011-11-18
得票数 1
9
回答
Mac上的POSIX
信号量
: sem_timedwait替代方案
、
、
、
我正在尝试将一个使用
信号量
的项目(从
linux
)移植到Mac,但是一些posix
信号量
没有在Mac上
实现
。我在这个端口上碰到的是sem_timedwait()锁定,而不等待另一个进程或
线程
解锁在指定的超时过期时执行。
浏览 13
提问于2009-03-13
得票数 15
回答已采纳
1
回答
C:
信号量
-如何仅在n个回调后释放
信号量
、
、
我有一个
线程
,我想在其中(在特定的代码行)等待来自另一个
线程
的三个回调事件。只有在收到这三个事件之后,我才想继续。这既适用于
Linux
也适用于Win
浏览 2
提问于2013-03-04
得票数 1
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
对象存储
ICP备案
云点播
实时音视频
活动推荐
运营活动
广告
关闭
领券