腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
IOCP和io_uring是异步读写的吗?
linux
、
asynchronous
、
epoll
、
iocp
、
io-uring
Linux
是异步通知。当文件描述符变得可读/可写/可接受时,
epoll
_wait将返回这个fd。但是读写仍然是同步的,会阻塞
线程
。因此Redis6.0使用
线程
池
来处理网络io。Windows IOCP和
Linux
是预言家。当io_uring_enter返回时,读取的数据已经放置在缓冲区中,写缓冲区全部已经写入。负责复制这些缓冲区数据的?仍然会阻塞当前
线程
?如果是,如何加快
线程
池
的使用?
浏览 6
提问于2022-03-30
得票数 1
1
回答
epoll
是否存在
线程
安全问题?
multithreading
、
epoll
我有一个在
epoll
_wait()循环中运行的
线程
池
。(EPOLLET | EPOLLONESHOT | EPOLLIN)。当
线程
池
只有一个
线程
时,它在第一次(也是唯一的)连接尝试中断断续续地无法接收EPOLLIN事件。如果我将
线程
池
增加到两个,它几乎总是无法接收EPOLLIN事件。我的理解是,
epoll
API是
线程
安全的,但这个观察似
浏览 0
提问于2013-01-09
得票数 1
2
回答
node.js内部异步I/O机制的混淆
javascript
、
linux
、
node.js
、
io
、
libuv
我了解到node.js在内部使用libeio来执行异步文件 I/O,在*nix平台上使用
线程
池
,对吗? 窗户上的机械装置是什么?我知道它是由IOCP完成的,并且有一个内核级别的
线程
池
,对吗?为什么
linux
还没有一个
浏览 4
提问于2013-03-20
得票数 25
回答已采纳
1
回答
JDK7 NIO.2在
Linux
上使用
Epoll
等吗?
java
、
asynchronous
、
nio
JDK1.4NIOAPI使用
epoll
/select来测试IO准备情况(通过SelectableChannel和选择器等向用户公开)。在Windows和*nix上大概都是这种情况。这就是反应堆模式。现在,JDK7引入了NIO.2API,它提供了一个异步API (proactor模式),并使用内部(可配置的)
线程
池
在后台执行IO,并在完成时回调到用户代码。它大概在Windows上使用IOCP,但我想知道: 1.它在
Linux
上使用什么,这是我感兴趣的主要平台。它是使用
epoll
和朋友,还是使用<e
浏览 1
提问于2015-11-13
得票数 7
3
回答
C中带有工作
线程
的
epoll
IO
c
、
linux
、
multithreading
、
posix
、
epoll
使用以下示例很容易实现用于接受tcp连接和读取数据的IO
线程
:因此,我有一个问题,希望有人能帮助我回答: 事件可以(也应该)用作IO
线程
和所有工作人员之间双向同步的机制吗?如果工作
线程
池
是通过互斥实现的,如果N+1
线程
试图使
浏览 4
提问于2014-02-19
得票数 11
回答已采纳
1
回答
libuv与原始
epoll
或IOCP
multithreading
、
epoll
、
iocp
、
libuv
我正在为一个消息库编写IO核心,并考虑libuv与在
linux
上使用原始
epoll
和在windows上使用IOCP (最终还有其他,solaris事件等)。
epoll
和IOCP允许多个
线程
直接等待IO事件,由内核进行调度。可能比用户空间调度更有效,尽管我没有任何数字。libuv (根据我的阅读)有一个
线程
-usafe事件循环,但我可以实现一个领导者-跟随者
线程
池
。我的意思是(一次)一个
线程
是等待事件的“领导者”。我的希望是,假设libuv得到了有效的实
浏览 5
提问于2016-05-14
得票数 1
3
回答
TCP/IP -使用每个客户端
线程
解决C10K
multithreading
、
concurrency
、
tcp
、
c10k
在阅读了著名的并在web上搜索了它编写以来的发展情况之后,我想知道今天的标准服务器是否能够使用处理>10000并发连接--每个连接都有一个
线程
(可能在
线程
池
的帮助下避免创建/终止进程)。服务器的技术规范(核心、处理器、RAM等) 显然,我不是这方面的专家,因此,任何评论或建议都将受到高度赞赏:)
浏览 1
提问于2013-07-11
得票数 39
2
回答
node.js是否在每个套接字连接上使用
线程
?
node.js
、
sockets
、
websocket
、
socket.io
、
threadpool
我理解Node.js如何与单
线程
一起工作。它主要是使用异步方法/模块,以尽可能地保持主运行时
线程
的自由。 但是,一些内部异步模块正在使用
线程
来完成它们的工作。我的问题是,Socket.IO内部是如何工作的,它是否像上面的例子一样使用
线程
?它是否每个连接使用单独的
线程
?如果是这样,是否意味着我们将有1000个
线程
,如果我们有1000个连接的客户端?
浏览 3
提问于2015-01-04
得票数 1
回答已采纳
2
回答
处理传入消息的最佳方法是什么?
sockets
、
network-programming
、
d
我发现做这件事的三种方法基本上是:
线程
/连接(blocking)Making是一个客户端列表,并循环它们-- (non-blocking)Select (基本上是针对所有客户端的阻塞语句,同时具有可选的超时
浏览 5
提问于2012-01-26
得票数 8
回答已采纳
6
回答
在大量文件之间处理大量数据的最快套接字方法
.net
、
c++
、
linux
、
networking
、
sockets
我应该只使用标准的轮询/
epoll
(
linux
)还是winsock中的异步套接字( win32 ),或者有没有其他性能更好的方法(比如win32上的重叠i/o )?
Linux
和Windows都是可能的平台!
浏览 1
提问于2009-12-02
得票数 4
回答已采纳
1
回答
io_submit和O_ASYNC文件的区别是什么?
linux
、
asynchronous
、
io
、
linux-kernel
、
aio
根据本教程的I/O模型:
epoll
。
Linux
对使用
epoll
作为异步I/O机制的支持有限。写入缓冲文件通常是即时的,因为它们是用另一个写回
线程
写出来的。然
浏览 3
提问于2013-05-05
得票数 6
2
回答
nodejs(libuv)如何在一个
线程
中执行所有操作
node.js
、
asynchronous
、
event-driven
、
libuv
在事件驱动的异步编程(nodejs<- libuv)中,我们让主
线程
执行所有操作。这意味着主
线程
正在执行所有的main和回调操作。(使用轮询),而不是使用某个工作
线程
池
。现在,主
线程
必须执行以下操作:ii) Check if(
epoll
for
Linux
) IO op-j completed :a) If completed then run
浏览 1
提问于2015-03-10
得票数 3
1
回答
C++:一个客户端与多台服务器通信
c++
、
windows
、
tcp
、
client-server
我想知道,是否可以让一个客户同时与多个服务器进行通信。据我所知,像firefox这样的普通浏览器就是这样做的。编辑:平台是Windows。谢谢你指出这个阿伦木。
浏览 2
提问于2016-05-30
得票数 0
回答已采纳
2
回答
当套接字上可能存在I/O时通知
线程
c
、
multithreading
、
sockets
目前,网络架构非常简单:接受器
线程
是一个无限循环,它只是坐在那里等待accept()。如果它获得了一个连接,那么它就会设置所有东西,并产生一个
线程
来处理与该客户端的通信。我的问题是在我得到登录包之后出现的,因为
线程
应该一直等到有数据要读(一个像“攻击这个生物”这样的新包到达)。我知道标志O_ASYNC会让系统触发一个SIGIO,但是因为
线程
在
linux
上有相同的PID,所以整个进程都会捕捉到这个信号。当有数据需要读取时,有没有一种有效的方法通知
线程
,让它知道何时解析数据包,并最终调用工作
浏览 2
提问于2019-04-03
得票数 1
1
回答
使用
epoll
处理多个同时请求
c++
、
linux
、
server
、
epoll
我正在尝试学习如何使用
epoll
来创建一个从客户端接收和执行命令的服务器(登录、下载文件等)。到目前为止,我提出的唯一想法是创建一个单独的
线程
来处理每个请求,但我不确定这是否是一个最佳解决方案。什么是处理这件事的好方法?
浏览 4
提问于2015-01-14
得票数 1
回答已采纳
1
回答
什么是正确的方式来监听UDS和TCP套接字在一个‘叉()’的服务器?
c
、
sockets
、
network-programming
、
posix
、
unix-socket
我正在编写一个基于fork()的服务器,TCP是客户机与服务器之间的通信通道,而UDS (数据报,如果有任何区别的话)是管理控制台与服务器之间的通信通道。while(1) { // main accept() loop new_fd = accept(sockfd, (struct sockaddr *)&their_addr, &sin_size);
浏览 4
提问于2015-04-11
得票数 0
回答已采纳
1
回答
JDK中的异步NIO是如何工作的?
multithreading
、
jvm
、
threadpool
在JVM中,
线程
只是本机OS
线程
的薄包装器。而原生OS
线程
占用的空间很大,创建它们/在它们之间切换并不是一项轻量级任务。为了克服这一缺点,引入了JDK中的异步NIO,它在任务等待时将
线程
返回到
线程
池
。一旦任务结束,
线程
池中的另一个
线程
就会被选中来继续执行任务。 系统如何知道任务已经结束?该任务可能正在等待来自HTTP服务器的响应。但是,由于
线程
已返回到
线程
池
,谁会中断CPU来通知任务已完成
浏览 2
提问于2020-12-29
得票数 2
2
回答
在套接字编程中,可以在多进程(
线程
)中接受相同的监听套接字吗?
sockets
、
pthreads
即 如果存在连接请求( child3....call ),则在父进程中打开侦听套接字(call
epoll
_wait,listening_socket)中的child1、child2、
epoll
_wait
浏览 2
提问于2010-04-15
得票数 2
1
回答
线程
工作
线程
和
epoll
c
、
linux
、
network-programming
在阅读了大量关于每个连接
线程
的c10k问题并只使用
epoll
之后,我决定将两者都用作
线程
池
,而main将充当分派器,因此每个新连接都将被分配给一个
线程
。 i++;
浏览 2
提问于2013-03-26
得票数 0
回答已采纳
1
回答
套接字控件以接受多个UDP连接。
c
、
sockets
、
epoll
、
getaddrinfo
我听说过select,但它的手册页上说: 现在,(在服务器上)我想,我需要一个
线程
来侦听一个
线程
,
浏览 1
提问于2013-07-22
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
java线程池趣味事:这不是线程池
线程池详解
Java多线程和线程池
线程池(上)
深入理解Java线程池:线程池参数调优与技巧
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券