草庐IT

非阻塞

全部标签

javascript - 如何重复请求直到成功而不阻塞 Node ?

我有一个带有参数和回调的函数。它应该向远程API发出请求并根据参数获取一些信息。当它获得信息时,它需要将它发送到回调。现在,远程API有时无法提供。我需要我的函数继续尝试,直到它成功完成并然后使用正确的数据调用回调。目前,我在函数中有以下代码,但我认为类似while(!done);不是正确的Node代码。varhistory={};while(true){vardone=false;varretry=true;varreq=https.request(options,function(res){varacc="";res.on("data",function(msg){acc+=msg

Java 网络编程 —— 创建非阻塞的 HTTP 服务器

HTTP概述HTTP客户程序必须先发出一个HTTP请求,然后才能接收到来自HTTP服器的响应,浏览器就是最常见的HTTP客户程序。HTTP客户程序和HTTP服务器分别由不同的软件开发商提供,它们都可以用任意的编程语言编写。HTTP严格规定了HTTP请求和HTTP响应的数据格式,只要HTTP服务器与客户程序都遵守HTTP,就能彼此看得懂对方发送的消息1.HTTP请求格式下面是一个HTTP请求的例子POST/hello.jspHTTP/1.1Accept:image/gif,image/jpeg,*/*Referer:http://localhost/login.htmAccept-Languag

javascript - 将 async/await 阻塞一个线程 node.js

当async/await在node.js函数中使用,它会阻塞node.js线程,直到它执行下一行代码吗? 最佳答案 async/await不会阻塞整个解释器。node.js仍然将所有Javascript作为单线程运行,即使某些代码正在等待async/await,其他事件仍然可以运行它们的事件处理程序(因此node.js不会被阻止)。事件队列仍在为其他事件服务。事实上,这将是一个解决promise的事件,该promise将允许await停止等待并运行以下代码。像这样的代码:awaitfoo();//fooisanasyncfuncti

javascript - 将 async/await 阻塞一个线程 node.js

当async/await在node.js函数中使用,它会阻塞node.js线程,直到它执行下一行代码吗? 最佳答案 async/await不会阻塞整个解释器。node.js仍然将所有Javascript作为单线程运行,即使某些代码正在等待async/await,其他事件仍然可以运行它们的事件处理程序(因此node.js不会被阻止)。事件队列仍在为其他事件服务。事实上,这将是一个解决promise的事件,该promise将允许await停止等待并运行以下代码。像这样的代码:awaitfoo();//fooisanasyncfuncti

javascript - 如何在阻塞的nodejs中创建 sleep /延迟?

我目前正在尝试学习nodejs,我正在做的一个小项目正在编写一个API来控制一些联网的LED灯。控制LED的微处理器有一个处理延迟,我需要将发送到微Controller的命令间隔至少100毫秒。在C#中我习惯只调用Thread.Sleep(time),但我在node中没有找到类似的功能。我在node中找到了几个使用setTimeout(...)函数的解决方案,但是,这是异步的,不会阻塞线程(这是我在这种情况下需要的)。有人知道阻塞sleep或延迟功能吗?最好是不只是旋转CPU,并且精度为+-10毫秒的东西? 最佳答案 Node本质上

javascript - 如何在阻塞的nodejs中创建 sleep /延迟?

我目前正在尝试学习nodejs,我正在做的一个小项目正在编写一个API来控制一些联网的LED灯。控制LED的微处理器有一个处理延迟,我需要将发送到微Controller的命令间隔至少100毫秒。在C#中我习惯只调用Thread.Sleep(time),但我在node中没有找到类似的功能。我在node中找到了几个使用setTimeout(...)函数的解决方案,但是,这是异步的,不会阻塞线程(这是我在这种情况下需要的)。有人知道阻塞sleep或延迟功能吗?最好是不只是旋转CPU,并且精度为+-10毫秒的东西? 最佳答案 Node本质上

node.js - 单线程非阻塞 IO 模型如何在 Node.js 中工作

我不是Node程序员,但我对单线程非阻塞IO模型的工作原理很感兴趣。看完文章understanding-the-node-js-event-loop,我真的很困惑。它为模型提供了一个示例:c.query('SELECTSLEEP(20);',function(err,results,fields){if(err){throwerr;}res.writeHead(200,{'Content-Type':'text/html'});res.end('HelloReturnfromasyncDBquery');c.end();});求:当有两个请求A(先来)和B,因为只有一个线程,服务器端程

node.js - 单线程非阻塞 IO 模型如何在 Node.js 中工作

我不是Node程序员,但我对单线程非阻塞IO模型的工作原理很感兴趣。看完文章understanding-the-node-js-event-loop,我真的很困惑。它为模型提供了一个示例:c.query('SELECTSLEEP(20);',function(err,results,fields){if(err){throwerr;}res.writeHead(200,{'Content-Type':'text/html'});res.end('HelloReturnfromasyncDBquery');c.end();});求:当有两个请求A(先来)和B,因为只有一个线程,服务器端程

python - 非阻塞python进程或线程

我有一个监听套接字连接的简单应用程序。每当某些数据block进入回调处理程序时,就会使用该数据调用回调处理程序。在那个回调中,我想将我的数据发送到另一个进程或线程,因为它可能需要很长时间来处理。我本来是在回调函数中运行代码的,但是它阻塞了!!分拆新任务的正确方法是什么? 最佳答案 threading是通常用于基于资源的多线程的线程库。multiprocessinglibrary是另一个库,但更适合运行密集的并行计算任务;在您的情况下,线程通常是推荐的库。例子importthreading,timedefmy_threaded_fun

python - 非阻塞python进程或线程

我有一个监听套接字连接的简单应用程序。每当某些数据block进入回调处理程序时,就会使用该数据调用回调处理程序。在那个回调中,我想将我的数据发送到另一个进程或线程,因为它可能需要很长时间来处理。我本来是在回调函数中运行代码的,但是它阻塞了!!分拆新任务的正确方法是什么? 最佳答案 threading是通常用于基于资源的多线程的线程库。multiprocessinglibrary是另一个库,但更适合运行密集的并行计算任务;在您的情况下,线程通常是推荐的库。例子importthreading,timedefmy_threaded_fun