nonblocking相关内容

发送非阻塞HTTP POST请求

我有两个使用php和python的网站. 当用户向服务器发送请求时,我需要php/python将HTTP POST请求发送至远程服务器.我想立即回复用户,而不必等待远程服务器的响应. 在向用户发送响应后,是否可以继续运行php/python脚本.在这种情况下,我将首先回复用户,然后才将HTTP POST请求发送到远程服务器. 是否可以在php/python中创建一个无阻塞的HTTP客户 ..
发布时间:2020-05-27 01:42:44 PHP

用于在Python中解析(流式传输)XML的非阻塞方法

我有一个XML文档通过一个套接字传入,我需要对其进行解析并即时做出响应(即解析部分树).我想要的是一种非阻塞的方法,这样我就可以在等待更多数据输入的同时做其他事情(没有线程). 如果iterparse在读取缓冲区为空时完成迭代,则是理想的选择,例如: context = iterparse(imaginary_socket_file_wrapper) while 1: for ..
发布时间:2020-05-25 00:21:50 Python

Perl中的非阻塞/异步执行

有没有一种方法可以实现非阻塞/异步执行(无需 fork() 'ing) Perl? 我曾经是一名Python开发人员很多年... Python具有非常强大的"Twisted"框架,可以做到这一点(使用 POE :: Session 文档): 回调不是抢占式的.只要一个正在运行,就不会派遣其他任何人.这称为协作多任务处理.每个会话必须通过返回中央调度内核来进行协作. 通过限制在任何 ..
发布时间:2020-05-24 21:10:42 其他开发

Opengl非同步/非阻塞映射

我刚刚找到以下 ARB_map_buffer_range 的OpenGL规范. 我想知道是否可以使用此扩展程序进行非阻塞地图调用? 当前在我的应用程序中,我正在渲染到FBO,然后我将其映射到主机PBO缓冲区. glMapBuffer(target_, GL_READ_ONLY); 但是,这样做的问题是它在传输数据时阻塞了渲染线程. 我可以通过流水线化渲染来减少此问题 ..
发布时间:2020-05-20 22:40:26 其他开发

为什么Node.JS中的函数和回调没有阻塞?

对Node的新手理解是,如果我重新编写同步代码或内联代码以利用函数/回调,则可以确保我的代码是非阻塞的.我很好奇这在事件堆栈方面的工作原理.来自这里的简单示例:不理解回调-Stackoverflow 会阻塞: var post = db.query("select * from posts where id = 1"); doSomethingWithPost(post) doSomethi ..
发布时间:2020-05-18 01:53:36 其他开发

具有多个并发请求的Node.js服务器,它如何工作?

我知道node.js是一个单线程,异步,无阻塞的I/O.我已经读了很多.例如,PHP每个请求仅使用一个线程,而节点仅对所有线程使用一个线程. 假设有三个请求a,b,c同时到达node.js服务器.这些请求中的三个要求进行较大的阻止操作,例如,它们都希望读取相同的大文件. 然后,如何将请求排入队列,将按什么顺序执行阻塞操作,以及按什么顺序分派响应?当然要使用多少个线程? 请告诉我三 ..
发布时间:2020-05-18 01:47:46 其他开发

如何将node.js模块作为node.js程序的子进程执行?

这是我的问题.我作为node.js模块实现了一个小的脚本,该脚本需要进行大量的计算.因此,如果我输入"node myModule.js",它将计算一秒钟,然后返回一个值. 现在,我想从主Node.JS程序中使用该模块.我可以将所有计算都放在"doSomeCalculation"函数中,然后执行: var myModule = require("./myModule"); myModule.d ..
发布时间:2020-05-18 01:46:34 其他开发

在基于epoll的服务器中超时空闲连接

我正在用c编写一个TCP服务器,该服务器使用epoll()I/O复用来管理并发连接.我想使闲置时间超过允许时间的连接超时. 到目前为止,我保留了与每个连接关联的last_active time_t变量,该变量在事件处理程序中更新为当前时间.在此之前,我检查自上一次事件以来是否已超过允许的时间,如果是,则终止连接. 到目前为止还不错,但这并不是我真正想要的,因为超时仅在第一个超时事件中触 ..
发布时间:2020-05-17 18:44:15 其他开发

龙卷风真的是畅通无阻吗?

Tornado宣传自己为“一个相对简单的无阻塞网络服务器框架",旨在解决C10k问题.但是,在查看他们的包装MySQLdb的数据库包装器时,我遇到了以下代码: def _execute(self, cursor, query, parameters): try: return cursor.execute(query, parameters) except O ..
发布时间:2020-05-15 00:49:11 数据库

如何获得数据而不会阻塞?

我有一个用于获取数据的串行端口外部设备.我设置了两个计时器.其中一个必须用于绘图(0.5sn),另一个必须用于写入文本文件(15sn).计时器不应通过列表或数组相互获取数据.因为有时我需要关闭绘图按钮. 所以我必须从相同的资源中获取数据(即将获得连续数据),对吗?但是当我尝试此操作时,它被阻止了. 以及如何在不阻塞的情况下获取数据? 例如,下面的代码运行时没有阻塞: # -*- ..
发布时间:2020-05-14 01:57:42 Python

Python 3.4 Comms流委托-非阻塞接收和发送-数据从asyncio输出

我要在RPi上集成一个客户端服务器应用程序.它有一个主线程,该主线程创建了一个与iOS设备对话的通讯线程. 主线程创建一个异步事件循环以及sendQ和recvQ并将它们作为args传递到comms线程中的commsDelegate main方法. 我遇到的麻烦是,iOS设备连接时,一旦数据可用,它需要从该Python应用程序接收未经请求的数据,并且需要能够将数据发送到Python应用程序.因 ..
发布时间:2020-05-14 01:44:53 其他开发

我(初学者)对阻塞和非阻塞io的理解正确吗?

现在,我对并发性和并行性进行了大量研究.你能告诉我我是否理解正确(在操作系统水平上): 阻止io: 当我明确等待连接时(即在Ruby中) conn = socket.accept 所以我的线程被阻塞,直到我得到一些东西,对吧? (而且我知道我在某个循环中将套接字池化为接受数据,对吗?) 非阻塞: 我有一个线程不时询问所有注册的fd(文件描述符)是否有我需要的 ..

大于比较和交换

正如标题所暗示的,我正在寻找一个比较交换方案,但具有大于比较的结果: if(newValue > oldValue) { oldValue = newValue; } 其中oldValue是某些全局共享状态,而newValue是每个线程专用的,而无需执行以下操作: synchronized(locker) { if(newValue > oldValue) { ..
发布时间:2020-05-14 00:21:01 Java开发

上下文在睡眠/等待线程上切换

我试图了解操作系统如何处理不同模型中的上下文切换,以更好地理解为什么在请求数量高峰时NIO性能会更好.除了可能会限制线程数这一事实之外,我很好奇如何在如此大量的请求中执行阻塞操作会如何影响资源利用率. 在每个线程模型一个请求中,例如一个基于Servlet 2.5的Web应用程序,如果499个线程正在等待数据库IO并且仅一个线程需要工作,则OS上下文是否会在试图找到一个的这500个线程之间切换 ..

C套接字阻塞调用

我想知道套接字在阻止和非阻止操作上的行为.当套接字阻塞模式更改时,套接字上的线程阻塞会发生什么情况?这是场景; thread1(T1)创建一个UDP套接字,然后 fd = socket(AF_INET , SOCK_DGRAM, 0); T1等待(睡眠)接收 recv(fd, buf , sizeof(buf) , 0); 和thread2(T2)在套接字接收任何数据之前将套接 ..
发布时间:2020-05-13 22:31:00 其他开发