腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
2
回答
在
Linux
中以非
阻塞
方式读取原始输入
c++
、
linux
、
nonblocking
我正在研究
Linux
内核,特别是输入子系统。我对读取不同输入事件(主要是键盘和鼠标)的/dev/ input /eventX设备感兴趣。 但是,read()操作会
阻塞
。我唯一能想到的就是创建一个所有键盘键和鼠标按键的状态,然后创建一个用于读取键盘和鼠标状态的新
线程
(这些
线程
可能会不时
被
阻塞
),并从我的主进程访问键盘和鼠标的状态。但是,我在C++和
Linux
下的非
阻塞
编程方面经验不是很丰富,我认为每个设备都有一个
线程
浏览 3
提问于2013-08-31
得票数 0
1
回答
如何停止
阻塞
linux
内核
线程
linux-kernel
假设我有两个
linux
内核
线程
,主
线程
和辅助
线程
。Master使用kthread_run()创建worker。当worker接受套接字连接和
阻塞
时,master调用kthread_stop()来停止worker。因为worker在接受操作时
被
阻塞
,无法退出,所以master内部的kthread_stop()将不会返回。 我应该怎么做才能优雅地从master中删除工作
线程
?谢谢。
浏览 2
提问于2016-02-04
得票数 3
3
回答
如何检查
Linux
线程
的状态?
linux
、
multithreading
我如何使用代码而不是工具来检查
Linux
线程
的状态?我想知道
线程
是否正在运行、
被
锁
阻塞
或由于其他原因而休眠。我知道
Linux
工具"top“可以完成这项工作。而是如何在我自己的代码中实现它。谢谢。
浏览 15
提问于2012-03-06
得票数 4
1
回答
阻塞
IO如何影响
Linux
中的多
线程
应用程序/服务
c
、
linux
、
multithreading
、
blocking
我用
Linux
上的C语言探索了web爬虫的几个概念。为了决定我将使用
阻塞
IO,多路复用的OI,AIO,某种组合,等等,我特别需要知道(我可能应该通过一些测试代码自己发现它,但为了方便起见,我更喜欢从别人那里知道),当在
阻塞
模式下调用IO时,是特定的
线程
(假设是多
线程
的app/svc)还是整个进程本身
被
阻塞
?更具体地说,在多头(POSIX)应用程序/服务中,专用于远程读/写的
线程
可以
阻塞
整个进程吗?如果是这
浏览 0
提问于2011-09-23
得票数 1
回答已采纳
1
回答
您能杀死连接当前调度队列上的进程吗?
ios
、
grand-central-dispatch
我正在调整
Linux
网络代码,使其也能在iOS上运行。它使用POSIX listen()和accept()调用侦听并打开套接字连接。是否有方法终止
被
阻塞
的进程?这里有一些讨论
线程
(而不是POSIX
线程
) ,所以说GCD中没有内置的方法。我想我可以找出哪个
线程
当前
被</e
浏览 7
提问于2015-11-16
得票数 1
回答已采纳
3
回答
非
阻塞
mlock()
c++
、
c
、
linux
、
file-io
有没有所谓的非
阻塞
mlock()?在繁忙的流量下,我不希望
线程
阻塞
等待I/O。我更愿意使用mlock()从mmap()的d文件中告诉
Linux
内核我需要哪个区域,然后在页面
被
获取时得到通知。(据我所知,标准的mlock()调用是
阻塞
的。)
浏览 1
提问于2014-07-25
得票数 0
2
回答
sem_getvalue()在POSIX中的语义
c
、
linux
、
posix
、
semaphore
、
semantics
我需要在代码中的某个点使用PThreads.解决同步问题,一个
线程
需要知道一个信号量上
阻塞
的
线程
数(如sempahore.h中所定义的)。当我看一看sem_getvalue(sem_t *s, int *sval)的手册页时,它指出返回值sval在
Linux
中是0,但根据POSIX可能有其他语义,即sval的绝对值
被
设置为信号量s上
阻塞
的
线程
数因此,我正在寻找一个
Linux
编译选项,以使这些替代语义成为可能。 我试图通过跟踪一个整数变量来模拟某个信号量
浏览 2
提问于2019-05-12
得票数 0
1
回答
等待互斥锁、条件变量或I/O会自动产生()
线程
吗?
io
、
mutex
、
scheduling
、
condition-variable
这看起来似乎很简单,但只是想检查一下(在
Linux
上)这是否有保证。在满足等待条件之前,
线程
是否
被
排除在调度之外?或者
线程
会不会被调度,发现它还在等待,然后再次输出(),这样就浪费了资源?我问的原因是,如果我有X个
线程
在运行,而一些
线程
由于某种原因被
阻塞
了,那么
阻塞
的
线程
是否会阻碍可运行的
线程
(假设它们具有相同的优先级)?
浏览 3
提问于2013-01-17
得票数 1
回答已采纳
1
回答
原子“检查信号并进入系统调用”操作
c++
、
linux
、
signals
、
posix
该代码主要针对
Linux
,但我希望它可以在POSIX系统之间移植。 由于显而易见的原因,每个
阻塞
的系统调用都必须是一个取消点,否则
线程
可能永远
阻塞
,没有任何东西能够唤醒它。当
线程
接收到表示取消请求的特殊信号时,信号处理程序设置
线程
本地标志。如果
线程
在某些系统调用上
被
阻塞
,它将失败,并返回errno == EINTR。然后它将有机会检查旗帜。如果信号先来,然后
线程
进入
阻塞
系统调用,它也会进入永久<em
浏览 0
提问于2013-01-30
得票数 3
2
回答
用Python
阻塞
线程
python
、
linux
、
multithreading
、
pipe
我正在调试一些Python代码,它存在
阻塞
问题。我对那里发生了什么有一些假设,但我对Python
线程
机制还不太了解,无法验证它。我正在调试的问题是,这段代码不时结冰:所有Popen进程和writing_thread在写入管道后在冲洗时都会被
阻塞
。我没想到会发生这种情况,因为(即使缓冲区已满),execute_many生成器将yield receive_result_from_process(process)并解除对其中一个进程的
阻塞
(这不会发生因此,我提出了一个假设,如果writing_thread
被
一个
浏览 6
提问于2015-03-16
得票数 0
回答已采纳
1
回答
用σ掩码将信号传递给多
线程
程序
linux
、
multithreading
、
pthreads
、
signals
如果我有一个程序让N运行
线程
,而其中的N-1使用pthread_sigmask阻止SIGUSR1信号的传递:sigset_t signal_mask; // handle error当操作系统(
Linux
,最近的内核)向进程交付SIGUSR1时,是否保证将它传递给未
阻塞
的
线程
?或者,例如,它可以尝试一些
被
阻塞
线程
的子集,然后放弃吗?
浏览 1
提问于2013-10-25
得票数 1
回答已采纳
1
回答
唤醒阻止在
Linux
中读取的串行端口
c
、
linux
、
serial-port
在套接字编程中,您可以通过关闭()调用来唤醒select()上
阻塞
的所有
线程
。 如果select()监视的文件描述符在另一个
线程
中关闭,则结果未指定。在
Linux
(和其
浏览 1
提问于2013-10-08
得票数 4
回答已采纳
2
回答
在
Linux
中
阻塞
多
线程
上的read()和write()
linux
、
asynchronous
、
blocking
我有一个需要从键盘和鼠标读取数据的
Linux
进程。它需要在执行一些主进程的同时异步执行此操作。 我想出的实现是将主进程放在一个
线程
中,并让两个单独的
线程
始终从键盘和鼠标读取()。如果
Linux
read()
阻塞
,当主
线程
继续执行时,键盘和鼠标
线程
会被
阻塞
吗(我想要的),或者整个进程会被
阻塞
?
浏览 6
提问于2014-05-04
得票数 2
4
回答
Linux
上还存在雷群问题吗?
linux
、
scalability
许多
linux
/unix编程书籍和教程都谈到了,当多个
线程
或for在select()调用上
被
阻塞
,等待侦听套接字的可读性时,就会发生这种情况。当连接进入时,所有
线程
和fork都被唤醒,但只有一个
线程
成功调用了"accept()“。同时,大量的cpu时间无缘无故地
被
浪费在唤醒所有
线程
/ for上。我注意到了一个,它在
linux
内核中提供了这个问题的“修复”,但这是一个非常旧的补丁。 我认为有两种变体;一种是
浏览 3
提问于2010-02-07
得票数 32
回答已采纳
1
回答
Linux
设备驱动-如何在关闭文件时解锁读
线程
?
linux
、
io
、
driver
、
device
、
blocking
我正在尝试为
Linux
实现一个字符设备驱动程序,但遇到了问题。简而言之,写入设备的数据
被
缓冲以供读取。当没有可用的数据时,通过'wait_event_interruptible‘调用读取
阻塞
。在用户空间,我有一个可执行文件,它通过“open”打开驱动程序,然后启动另一个
线程
。主
线程
继续调用“read”。正如预期的那样,没有数据可供读取,因此调用
阻塞
。另一个
线程
休眠一秒(为主
线程
提供足够的读取和
阻塞
时间),调用“close”,
浏览 0
提问于2012-12-05
得票数 2
4
回答
当套接字关闭时取消阻止recvfrom
c
、
sockets
、
select
、
recv
假设我启动了一个
线程
来在端口上接收数据。套接字调用将在recvfrom上
阻塞
。然后,在另一个
线程
中,我关闭了套接字。有没有人能帮我搞清楚
Linux
上发生了什么?当套接字关闭时,我希望recvfrom解除
阻塞
我一直在阅
浏览 2
提问于2011-06-18
得票数 9
1
回答
如何检查
Linux
/FreeBSD上阻止的写()调用的问题?
c
、
macos
、
sockets
、
tcp
、
bsd
我在
Linux
/FreeBSD上有一个活动的运行过程。我对它进行了跟踪,并发现其中一个
线程
在调用函数write()时
被
阻塞
--作为参数,它有一个TCP套接字。可能要挂几个小时了。检查
阻塞
write()背后的原因的方法是什么?潜在的问题是什么? 系统实用程序将不胜感激。
浏览 7
提问于2014-02-12
得票数 0
回答已采纳
1
回答
第二个
线程
不会从cond_wait中醒来
c
、
multithreading
、
pthreads
、
posix
因此,我们有一个打印机
线程
和当前两个
线程
来计算下一个要打印出来的新一代单元格。由于某种原因,只有一个
线程
在pthread_cond_wait() 上醒来。这就是我们的打印机
线程
所做的://pthread_mutex_unlock(&(f
浏览 3
提问于2016-06-25
得票数 0
回答已采纳
2
回答
单内核
线程
操作系统上的多程序设计
operating-system
假设有一个具有单个处理器的系统和一个具有单个内核
线程
的操作系统,而我运行的是一个具有C program的scanf() function。 现在,如果我执行程序,而不提供值。内核将如何处理?--我的意思是,由于scanf()执行
阻塞
的系统调用,read()和内核在处理器上执行以处理系统调用并
被
阻塞
。内核将如何使另一个进程运行,而该进程本身
被
阻塞
。如何在单内核
线程
操作系统上支持多程序设计。
浏览 0
提问于2019-02-12
得票数 0
1
回答
线程
状态和进程状态之间有什么区别?
multithreading
、
process
、
lifecycle
我学到的是,如果进程
被
阻塞
,它将被交换到磁盘并等待唤醒事件。但是,如果一个进程可以有多个
线程
,那么如果一个
线程
被
阻塞
了呢?例如,其中一个
线程
等待键盘均一,
线程
将被
阻塞
。那么,进程是否也会被
阻塞
,或者是否只有
线程
被
阻塞
并且进程正在运行?
浏览 2
提问于2019-04-25
得票数 0
回答已采纳
点击加载更多
相关
资讯
服务器模型——从单线程阻塞到多线程非阻塞(上)
服务器模型——从单线程阻塞到多线程非阻塞(下)
服务器模型——从单线程阻塞到多线程非阻塞(中)
从linux源码看socket的阻塞和非阻塞
Java并发编程:如何防止在线程阻塞与唤醒时死锁
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券