腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
系统
调用
read
()
被
阻塞
c
、
sockets
、
unix
、
system-calls
客户端使用
系统
读取-
调用
read
() a socket SOCK_DGRAM。 这里是带有
系统
调用
read
(..)的完整函数在里面。char c, *buffer; { } *buffer = 0;} 问题是,如果服务
浏览 83
提问于2020-07-22
得票数 0
回答已采纳
3
回答
如何
阻塞
read
系统
调用
c
、
linux
、
io
我不明白
read
()
系统
是怎么
阻塞
的。我已经创建了一个空文件,并尝试使用
read
()
系统
调用
进行读取。它返回0。fd = open("Demo.txt",O_RDONLY);我预计
read
()会无限期地
阻塞
,因为文件中没有数据。
read
()是否将EOF视为有效数据并立即返回?我的理解正确吗?
浏览 9
提问于2013-02-06
得票数 4
回答已采纳
2
回答
单内核线程操作
系统
上的多程序设计
operating-system
假设有一个具有单个处理器的
系统
和一个具有单个内核线程的操作
系统
,而我运行的是一个具有C program的scanf() function。 现在,如果我执行程序,而不提供值。内核将如何处理?--我的意思是,由于scanf()执行
阻塞
的
系统
调用
,
read
()和内核在处理器上执行以处理
系统
调用
并
被
阻塞
。内核将如何使另一个进程运行,而该进程本身
被
阻塞
。如何在单内核线程操作
系统</
浏览 0
提问于2019-02-12
得票数 0
2
回答
C:设置
阻塞
系统
调用
的超时
c
、
linux
、
unix
、
system-calls
我有一个C代码,它使用
阻塞
I/O
调用
来文件描述符--其中一些是磁盘FDs,所以我不能使用select(),但是一些I/O
调用
(
read
() / write())
被
阻塞
了几秒钟。如果
系统
调用
阻塞
超过指定的时间阈值(例如500 500miliSec ),那么是否有可能错误地中止
系统
调用
?我不愿意使用非
阻塞
I/O
调用
,因为我正在记
浏览 0
提问于2018-04-09
得票数 0
1
回答
close()可以在一段时间内
阻塞
执行吗?
c
、
linux
我想要捕获在某些
系统
调用
中执行
被
阻塞
的所有可能的情况。我在Linux上工作。但是,了解其他
系统
也很有趣。
浏览 0
提问于2014-05-22
得票数 2
1
回答
Linux:
系统
调用
是否有自己的信号处理程序?我能推翻它吗?
linux
、
signals
、
posix
、
system-calls
、
signal-handling
系统
调用
上的文档表示,如果
被
信号中断,
read
()会立即返回。返回的值反映到目前为止它成功读取了多少字节。这似乎意味着一些
系统
调用
有自己的信号处理程序。如果
read
()正在从管道(由pipe()设置)读取,但管道中没有可用的字节,那么
read
()将
阻塞
线程。现在,如果我从终端(通过SIGINT )发送一个Ctrl+C,程序将终止。当
read
()
阻塞
而我使用Ctrl+C时,程序会以打印的消息终止,还是
浏览 2
提问于2018-10-15
得票数 0
回答已采纳
3
回答
当虚拟线程执行
阻塞
系统
调用
时,会发生什么情况?
java
、
multithreading
、
concurrency
、
project-loom
因此,我理解其动机,对于基于标准servlet的后端,总是有一个线程池执行业务逻辑,一旦线程因为IO而
被
阻塞
,它只能等待。因此,假设我有一个具有单个端点的后端应用程序,这个端点背后的业务逻辑是使用JDBC读取一些数据,它内部使用InputStream,它将再次使用
阻塞
系统
调用
(
read
() )。据文章中的Ben说 相反,当进行
阻塞
调用
(如I/O)时,虚拟线程会自动放弃(或产生)它们的载波线程。我不确定我是否理解,如果操作
系统</e
浏览 5
提问于2021-11-30
得票数 10
回答已采纳
1
回答
为什么
阻塞
系统
调用
用用户级线程
阻塞
整个过程?
multithreading
、
operating-system
、
system-calls
我不明白以下几点:内核线程如何处理
阻塞
系统
调用
?在用户级线程中,当一个线程执行
阻塞
系统
调用
(例如
read
)时,为什么其他线程不能继续它们的工作?
浏览 0
提问于2016-11-30
得票数 9
回答已采纳
2
回答
当信号被捕获时
系统
调用
的中断
linux-kernel
从读取“
read
()”和“write()”
调用
的手册页来看,这些
调用
似乎会被信号中断,而不管它们是否需要
阻塞
。进程为某些信号建立一个处理程序。设备被打开(例如终端.)。)如果“O_NONBLOCK”未设置(即在
阻塞
模式下操作),则进程将进行“
read
()”
系统
调用
,以便从设备读取,结果在kernel-space.while中执行内核控制路径,过程在内核空间中执行其“
read
()”,先前安装处理程序的信号
被</
浏览 10
提问于2011-07-11
得票数 0
2
回答
什么是中断的
系统
呼叫?
signals
、
system-calls
、
interrupt
我正在读APUE,
被
中断的
系统
调用
一章让我感到困惑。早期UNIX
系统
的一个特点是,如果进程在“慢”
系统
调用
中被
阻塞
时捕捉到信号,
系统
调用
就会中断。
系统
调用
返回一个错误,errno
被
设置为EINTR。这是在这样的假设下完成的,即由于一个信号发生了,并且进程捕获了它,很有可能发生了一些事情,应该会唤醒
被
阻塞
的
浏览 0
提问于2019-03-29
得票数 10
回答已采纳
1
回答
阻塞
'connect‘
系统
调用
被
中断
sockets
、
unix
作者说,如果
阻塞
连接
调用
被
中断,我可以使用' select‘作为非
阻塞
连接的select。 我很困惑。如果我应该
调用
非
阻塞
连接,然后选择新的socktfd,还是应该选择传递给前一个
阻塞
连接
调用
的旧socketfd?如果是这样,我可以完全忽略
阻塞
连接中断的情况吗?
浏览 0
提问于2013-03-16
得票数 0
1
回答
networkStream.
Read
被
阻塞
c#
但是,这个脚本不会到达string Message = Console.ReadLine();,因为它在bytesRead = clientStream.
Read
(message, 0, 4096);
被
阻塞
Blocks until a client sends a message bytesRead = clientStream.
Read
浏览 4
提问于2012-05-23
得票数 3
回答已采纳
2
回答
对rubys IO#(读/写)_nonblock
调用
的混淆
ruby
、
sockets
我的解决方案使用IO#gets和IO#
read
(maxlen)以及内容长度标头属性来进行解析。 其他解决方案使用IO#
read
_nonblock。我在googled上搜索了它,但与它的文档非常混淆。有人能向我解释一下,非块
调用
与普通
调用
有什么不同,它们如何避免
阻塞
执行线程,以及它们如何与Kernel#select方法协同工作?
浏览 0
提问于2016-12-13
得票数 1
回答已采纳
1
回答
非
阻塞
系统
调用
可以
被
中断吗?
c
、
linux
、
linux-kernel
、
signals
、
system-calls
我正在阅读,它(在第21.5节)描述了
阻塞
系统
调用
是如何
被
信号中断的。这似乎意味着非
阻塞
系统
调用
不能
被
中断。这是真的吗?
浏览 0
提问于2018-01-02
得票数 2
3
回答
什么是“
阻塞
系统
调用
”?
c
、
multithreading
、
operating-system
、
system-calls
“
阻塞
系统
调用
”是什么意思? 在我的操作
系统
课程中,我们正在学习多线程编程。当我在课本上读到“当一个线程进行
阻塞
系统
调用
时,它可以允许另一个线程运行”时,我不确定这是什么意思。
浏览 25
提问于2013-10-11
得票数 28
3
回答
如何阻止Linux“读取”
系统
调用
的
阻塞
?
c++
、
linux
、
system-calls
如何在C++中解除
read
系统
调用
的
阻塞
?例如,如果在线程中有以下循环: while(shouldRun){ //do some other stuff //-->here I want to unblock "
re
浏览 3
提问于2014-07-31
得票数 2
回答已采纳
2
回答
wait_event与wake_up的竞争条件
linux-kernel
、
ipc
、
linux-device-driver
、
race-condition
在当前的实现中,它使用proc文件
系统
来做到这一点。读取过程绕着
read
()循环到proc文件
系统
。
read
()用wait_event_interruptible()
阻塞
,直到内核得到一个中断,这会导致write_new_data()函数变成call wake_up_interruptible()。
read
(),然后
调用
-> write_new_data()。写入数据和
调用
wake_up_interruptible().
read
浏览 5
提问于2012-06-13
得票数 2
回答已采纳
2
回答
read
()挂起僵尸进程
c
、
linux
、
pipe
、
fork
、
zombie-process
我有一个while循环,它通过将子进程的stdout重定向到父进程,从而使用
阻塞
I/O从子进程读取数据。通常,子进程一退出,在这种情况下
阻塞
的
read
()就会返回,因为
被
读取的管道由子进程关闭。现在,我有一种情况,即对于已完成的子进程,
read
()
调用
不会退出。子进程以僵尸状态结束,因为操作
系统
正在等待我的代码获得它,但是我的代码却
阻塞
了
read
()
调用
。当从终端运行时,我尝试从出口自动执行
read
浏览 0
提问于2018-11-30
得票数 2
回答已采纳
1
回答
如何轮询SSL生物对象?
c++
、
windows
、
io
、
openssl
如何轮询连接以查看是否可以在不
阻塞
的情况下
调用
read
?OpenSSL网站说: 有时与
阻塞
套接字一起使用的一种技术是使用
系统
调用
(例如select()、轮询()或等效)来确定数据何时可用,然后
调用
read
()来读取数据。不应使用与BIOs的等效(即在底层I/O结构上
调用
select(),然后
调用
BIO_
read
()来读取数据),因为对BIO_
read
()的单个
调用
浏览 5
提问于2012-06-09
得票数 2
回答已采纳
4
回答
如何中断阻止IO的后台线程?
c
、
pthreads
、
interrupt
我的问题是,在主线程的末尾(一旦主循环从信号处理程序中终止),它尝试使用tcsetattr恢复终端设置,但是这会
阻塞
,直到其他线程上的当前fgetc
调用
返回为止。如何中断后台线程,以便fgetc
调用
返回,主线程可以恢复终端设置并干净地退出? tcsetattr(fileno(stdin), TCSANOW, &new_term_attr); // S
浏览 4
提问于2013-09-29
得票数 3
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
对象存储
云点播
实时音视频
活动推荐
运营活动
广告
关闭
领券