腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
为什么
Linux
内核中的wait_event_interruptible()从不在while循环中使用?
c
、
linux
、
linux-kernel
、
mutex
、
interrupt
浏览一
下
Linux
内核,我发现wait_event_interruptible()的
返回值
几乎总是由if-block而不是while循环检查的: if (mutex_lock_interruptible(lock)) {} 为什么不在while循环中检查
返回值
,即使
等待
被
信号
处理程序中断,也要继续尝试?
浏览 24
提问于2020-12-07
得票数 0
1
回答
如何在C++11中实现像“中断异常”行为那样的Java
c++
、
linux
、
multithreading
、
c++11
在
等待
事物的java调用中,当
等待
操作完成的线程被“中断”时,时间、IO、semphores等将抛出一个"InterruptedException“。显然,在
Linux
、std::线程等中使用的“
信号
”机制有点混乱,很难管理。我基本上想要实现一种方法,从另一个线程中中止互斥和
信号
量
等待
、
等待
连接等对线程的“中断”调用,并通过异常或
返回值
捕捉这一事实,即这是在被“中断”的线程中完成的,而不影响任何其他正在运行的线程。
浏览 1
提问于2018-01-02
得票数 0
回答已采纳
1
回答
linux
未命名posix
信号
量sem_destroy,sem_wait方法问题
linux
、
posix
、
semaphore
当有sem_wait方法的
等待
信号
量时,我在其他线程上调用sem_destroy方法。但是
等待
信号
量并没有被唤醒。在互斥的情况
下
,当有一些
等待
线程时,pthread_mutex_destroy
返回值
EBUSY。但是,sem_destroy返回0和errno也被设置为0。我想在调用sem_destroy之后销毁
信号
量,以阻止已销毁的
信号
量访问,并唤醒
等待
的线程。 窗口操作系统的
信号
处理是可能的。请告诉
浏览 1
提问于2022-06-16
得票数 1
回答已采纳
1
回答
子进程、fork和exec的内存使用情况
c++
、
linux
、
kernel
、
fork
但是,在父级调用fork而不调用exec的情况
下
,这不是更正确吗?当父进程调用exec时,子进程的虚拟地址空间将被清除,并替换为加载到内存中的新程序产生的虚拟地址空间,对吗? 谢谢!
浏览 5
提问于2015-12-13
得票数 0
1
回答
异步共享内存读写
c++
、
c
、
linux
、
shared-memory
、
semaphore
在我的应用程序中,我在父级和子级之间(在
Linux
和Windows上)为IPC使用共享内存。
Linux
的完整代码在上。in buf, pBuf is shared memory.sem_post(semn);在这种情况
下
,如果一个进程很长时间没有写入,那么另一个进程将无限期地
等待
。但是在这种情况
下
,需要有人再次调用sem_trywait来检查它是否可以被锁定。与文件一样,是否有类似于select或poll的
浏览 3
提问于2014-09-02
得票数 3
回答已采纳
1
回答
如何使WaitHandle.WaitAny不以较小的索引对句柄进行排序?
.net
、
multithreading
、
waithandle
说: public static int WaitAnyFair(th
浏览 3
提问于2014-06-06
得票数 1
2
回答
pthread_cond_wait是否将线程置于
等待
状态
c
、
unix
、
pthreads
pthread_cond_wait是否将调用线程置于
等待
状态,以便被pthread_cond_signal/pthread_cond_broadcast唤醒,这样它就不会轮询和搅动CPU?另外,sem_wait是否会将线程置于
等待
状态?如果我理解正确的话,互斥锁获取/释放方法会使线程在互斥锁上持续轮询,而不会使线程处于
等待
状态。
浏览 1
提问于2012-02-29
得票数 2
回答已采纳
1
回答
使用Mach
信号
量替换进程间匿名
信号
量
c
、
macos
、
darwin
、
mach
、
xnu
我希望在共享内存中使用匿名
信号
量来同步
多个
进程。semaphore_create(task, &sema->semaphore, SYNC_POLICY_FIFO, value)semaphore_wait(sema->semaphore);mach_t
浏览 7
提问于2020-12-06
得票数 4
2
回答
当进程被杀死时,有没有办法让线程从无限的
信号
量中出来
等待
?
c
、
windows
、
multithreading
、
semaphore
、
freeze
语言:C当进程被杀死时,线程
等待
信号
量为什么不结束?我在
Linux
论坛上看到有SEM_UNDO可以帮助解决这种情况。
浏览 4
提问于2011-11-18
得票数 1
1
回答
如何正确使用libevent的
信号
事件
linux
、
multithreading
、
signals
、
libevent
支持在被监视
信号
到达时发出通知。在
Linux
/Unix上的任何代码上,
信号
似乎都可以中断(是对的吗?)。这是否意味着,在调用所有系统调用和其他库函数之后,我应该检查
返回值
和errno是相等的EINTR?有简单的测试代码。如果上面的猜想是正确的,那么它是否是像这样处理
信号
的正确方法: 谢谢!
浏览 2
提问于2017-03-16
得票数 1
3
回答
什么是指
信号
是异步的?
c
、
asynchronous
、
signals
信号
是在Unix、类Unix和其他符合POSIX的操作系统中使用的进程间通信的一种有限形式.
信号
是向进程或同一进程中的特定线程发送的异步通知,以便将发生的事件通知进程。我真的不明白这是甚麽意思: 这是否意味着,就像I/O一样,一个
信号
被发送到一个进程,而发送该
信号
的进程不
等待
接收该
信号
的进程的
返回值
,并继续前进?如果一个
信号
是同步的,那么发送进程会
等待
返回值</e
浏览 3
提问于2015-06-03
得票数 1
回答已采纳
2
回答
将以Windows为中心的控制台I/O移植到
Linux
上
c++
、
linux
、
c++11
此线程的设计使其能够通过WaitForMultipleObjects对两个事件进行
等待
: 这完全是我想要的。它
等待
一个事件被引发,而不进入一个繁忙的
等待
,它同时
等待
这两个事件。我希望将此功能移植到
Linux</e
浏览 1
提问于2012-11-06
得票数 4
1
回答
我的文件服务器程序的失效僵尸进程
c++
、
c
、
linux
、
sockets
、
fork
我有一个基于套接字的文件服务器程序,它使用fork一次为
多个
客户端服务。在运行此服务器程序之后,当我执行ps -ef时,我将得到服务器的许多<defunct>子进程。我如何解决这个问题?
浏览 2
提问于2015-10-25
得票数 2
回答已采纳
1
回答
如何用AutoResetEvent从Windows移植到
Linux
进程间事件
linux
、
windows
、
events
、
inter-process-communicat
可能有许多进程在
等待
该事件,当它发出
信号
时,所有
等待
的进程都会被释放,然后事件返回到无
信号
状态。为此,我使用了PulseEvent函数。 在
Linux
中如何做到这一点?我不知道
信号
量在哪里可以提供与Windows相同的行为。Posix
信号
量似乎只释放了一个
等待
线程。如果
信号
量可以释放所有
等待
的线程,那么就可以工作了。
Linux
中有什么我遗漏的东西吗?
浏览 1
提问于2013-12-07
得票数 2
3
回答
退出多线程/多进程web服务器
c
、
multithreading
、
multiprocessing
一个
信号
量正在封装对listen的调用,以避免雷鸣般的羊群效应。为
信号
量设置了一个超时。醒醒吧。我该关门吗?不是吗?好的,回到睡眠状态;刚刚杀死它们;共享内存中的数组,意味着响应/阻塞,守护进程相应地终止。
浏览 5
提问于2012-03-24
得票数 0
回答已采纳
1
回答
sigwaitinfo()可以
等待
进程
信号
掩码的超级集合吗?
c
、
signals
、
posix
我试图正确地模拟, for ,但是当由set参数选择的
多个
信号
同时被发送到一个
等待
在这些函数中的进程时,我无法理解预期的行为。 在正常使用中,调用程序通过预先调用Sigpro掩码(2)来阻
浏览 2
提问于2017-11-28
得票数 2
1
回答
一个处于TASK_INTERRUPTIBLE状态的进程是否仅通过一个
信号
的传递而被唤醒?
linux
、
process
、
signals
Linux
编程接口显示 22.3可中断和不可中断进程睡眠状态我们需要在前面的语句中添加一个附加条件,即SIGKILL和SIGSTOP总是对进程立即采取行动。例如,它正在
等待
终端输入,
等待
将数据写入当前空管道,或
等待
增加System
信号
量的值。在这种状态
下
,进程可能会花费任意长度的时间。If为处于此状态的进程生成
信号
,然后中断操作,并通过发送
信号
唤醒进程。TASK_UNINTERRUPTIBLE :进程正在
等待
某些特殊类型的事件,例如磁
浏览 0
提问于2020-12-09
得票数 0
1
回答
mq_receive调用空POSIX消息队列取消阻塞的顺序
linux
、
posix
、
ipc
、
message-queue
在没有O_NONBLOCK的情况
下
创建消息队列时,如果队列为空,则mq_receive()调用阻塞。当一条新消息被发送到队列时,哪些
等待
的mq_receive()调用实际上解除阻塞?QNX文档明确提到FIFO顺序:如果队列为空,则默认情况
下
,mq_receive()会阻塞,直到消息可用,或者呼叫被
信号</em
浏览 0
提问于2019-12-02
得票数 1
回答已采纳
4
回答
在
Linux
上
等待
多个
条件变量而没有不必要的睡眠?
c
、
multithreading
、
pthreads
、
conditional-statements
、
scheduling
我正在编写一个延迟敏感应用程序,它实际上希望同时
等待
多个
条件变量。我以前读过几种在
Linux
上获得这个功能的方法(显然这是Windows上内置的),但它们似乎都不适合我的应用程序。我所知道的方法是: 使用时间
等待
循环遍历
多个
条件变量。对于#1,你必须
等待
虚拟线程醒来,然后给真正的线程发送
信号
,然后真正
浏览 19
提问于2010-05-17
得票数 28
回答已采纳
2
回答
等待
超时,WaitForSingleObject超时
c++
、
winapi
、
waitformultipleobjects
这里使用了handle对象的std::vector来
等待
。如果此函数超时,那么我如何确定
等待
哪个处理程序超时? if(WAIT_OBJECT !
浏览 0
提问于2012-06-20
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux下如何安装多个Python版本
Linux环境下Apache2配置多个虚拟主机
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
shell脚本或C程序返回值为什么不能大于255
深入理解Linux中进程控制
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券