Tag: multithreading

如何重置multithreading任务? (JXcore)

我有一个node.js应用程序,我已经进入JXcoremultithreading,但无法弄清楚如何重置任务。 在当前实现中,服务器创build一个subprocess并逐个发送作业。 当工作超过X秒时,主进程杀死subprocess并跳过正在运行的任务并logging。 任何工作不应超过X秒。 到目前为止,我已经将队列系统轻松地移入JXcore,并且按预期工作,但是我还没弄明白,我怎么才能杀死正在运行的任务。

Node JS本地模块:你可以在独立的Libuv / NodeJS风格的过程中运行C / C ++方法吗?

这个有点奇怪 我写了一个大部分时间都运行良好的NodeJS本地模块,但是这个类包含一个在共享内存的上下文中运行的模块。 粗略地说,模块打开一个IO服务器,但有一个错误,需要我打开和closuresIO服务器来检索一个特定的值…当我执行此操作时,任何指针发现引用旧的IO服务器对象明显打破/ segfault(一个“涂鸦空间”的错误,对吧?)。 为了解决这个问题,我现在使用NodeJS的child_process.fork()在独立的上下文中运行错误的方法,并在主进程和分叉进程之间传递消息,让程序按需要运行(也就是我在里面调用方法分叉的进程,并使用'process.on(“message”,…)“来检索结果)。 这工作得很好,但感觉像一个非常昂贵的黑客… 为了logging,我尝试使用Libuv线程来运行该方法,但我遇到了同样的问题。 我猜这是因为函数调用仍然在共享内存中。 有没有办法让我用C ++在“NodeJS风格”过程中运行一小部分(或更多)C / C ++代码?

Node.js和同步

我正在考虑为下一个项目使用Node.js。 但是我坚持关于线程安全概念的一些观点。 在Node.js中实现时如何解决这些问题(或需要小心)? 我知道JavaScript支持函数式编程,这种模式将解决线程安全问题。 这里要遵循的最佳实践是什么? 谢谢

Expressjs多个线程

在nodejs上可以有多个线程? 我正在使用expressjs和multer进行图片上传。 当图片尺寸较大,网页需要另外一个要求完成时,等待图片上传。 有可能使图像上传使用其他线程?

无法理解NodeJS中的一些基本逻辑

下面的代码是一个nodeJS代码。 我是nodeJS的新手,我很困惑于nodejs中的代码stream,因为它告诉我们nodejs是单线程的,另一方面它也告诉我们,如果我没有错,那么callback和IO是asynchronous的。 任何人都可以给我callback的实际含义以及代码是如何工作的。 是这样,我们称为callback的asynchronous函数是由其他线程/进程执行,而不是由单个nodejs线程(PS-这是我理解的概念…我可能会出错),那么为什么我们将callng nodejs作为单线程程序。 function placeOrder(orderNo) { setTimeout(function() { deliver(orderNo); }, 5000); console.log("Order is: " + orderNo); } function deliver(orderNo) { console.log("Item is delivered with Order No.- " + orderNo); } placeOrder(1); placeOrder(2); placeOrder(3); placeOrder(4); placeOrder(5); placeOrder(6);

Nodejsmultithreadingvs nodejs单线程

我不明白javamultithreading系统和Nodejsmultithreading系统在性能和资源共享方面的差异。 由于NodeJS使用事件循环单线程为您的程序,但在幕后它将任务分配给不同的线程,如文件读取或数据库查询。 所以它使用multithreading和线程池(类似于Java?)。 但是,每当我们比较性能,NodeJS应用程序远远胜过其他multithreading系统。 实际上NodeJS如何处理像溢出或locking线程这样的multithreading编程挑战。 它是如何共享线程之间的资源,例如我正在访问同一个文件在同一时间与两个I / O,所以会有两个线程访问一个资源,是否适用于NodeJSmultithreading系统? 或者我误解了这一点?

多命令shell AS分离subprocessWITH spawn()IN Node.js

供参考: https : //nodejs.org/api/child_process.html#child_process_options_detached 大家好, 所以我需要spawn一个subprocess,由于exec不允许options.detached & child.unref(); ,这意味着它可以与父母分离,允许孩子在自己的父母上运行和完成,反之亦然父母(在我们的特定情况下,父母的过程可以在长期的孩子之前死亡,在这种情况下,更新是完成而不需要像exec那样等待孩子)。 我们有一个由节点(父)应用程序构build的长连接("… ; … ; …")命令,但像spawn("echo stuff >>stderr.log")不起作用,只有spawn('ls', [-l]) ,我显然不能链接命令(因为它在文档中也被引用,并在SO上多次引用。 TLDR; 我们需要使用spawn ,但spawn不能处理链式shell命令。 我现在真的需要在bash中编写我的命令,然后执行它,这是否是唯一的select? 谢谢

node-opencv npm – 即使节点是单线程的,它会执行multithreading计算吗?

openCV的node.js实现可以利用multithreading的主机和/或Nvidida GPU吗? 我是新的Node JS,并注意到有openCV绑定。 我为uni项目做了一点openCV,并且对使用node.js进行image processing感兴趣。 节点是单线程,我相信openCV利用多核心,特别是如果他们是Nvidia GPU?

每个开放的HTTP连接,Node JS限制为一个线程?

节点JS可以有多个线程在单个HTTP端口上为HTTP客户端提供服务? 这是为了处理一些线程正在等待数据库或进行大量处理的情况。 这不应该干扰像加载图像这样的快速事情的其他线程。

与node.js VS apache HTTPD混淆

我完全混淆了节点和线程之间的区别。 现在在httpd文档中,他们说他们创build了一个创build一个subprocess的主进程,而这个进程又保持了一个固定数量的线程。 线程池像Apache的预分配一样工作。 线程在程序启动时创build,然后平均分配工作负载。 当有更多的连接比线程,新的连接不得不等待。 但从好的一面来看,您可以节省创build线程的成本。 现在我怀疑这是因为线程可以运行共享内存为什么不能创build任何数量的线程? 谈到节点。 节点完全是事件驱动的。 基本上服务器由一个线程处理一个接一个的事件组成。 一个新的请求进入是一种事件。 服务器开始处理它,当有一个阻塞IO操作时,它不会等到它完成,而是注册一个callback函数。 服务器立即开始处理另一个事件(也许是另一个请求)。 当IO操作完成时,这是另一种事件,服务器将通过执行callback来处理它(即继续处理请求)。 现在如果节点不创build一个新的线程,那么它如何接受一个新的请求。