php - 处理 CPU 密集型任务:node vs php
问题描述
我最近一直在阅读有关 nodejs 的内容,我遇到很多人反对在具有 cpu 密集型任务的大型应用程序中使用 nodejs,因为 nodejs 是单线程
那么是什么让像 php 这样的多线程语言更适合这种应用程序呢?我的意思是,如果您的任务正在使用所有服务器资源(本例中为 cpu),那么您的编程语言是单线程还是使用多线程请求是否重要?服务器无论如何都会崩溃......我想!
这是一些虚拟代码,所以我可以发布我的问题,请忽略此代码:
get_next_node($node_1, $node_2){
$dist = select distance from distances_table where node_2 = $node_2 and node_1 = $node_1
$candidates_ar = select node_1 from distances_table where node_2 = $node_2 and distance < $dist
$distances_ar = select distance from distances_table where node_1 = $node_1 and node_2 in ($candidates_ar) // e.g. $distances_ar[12] contains distance between node 12 and $node_1
$min = 1000;
foreach ($candidates_ar as $value){
if ($distances_ar[$value] < $min){
$min = $distances_ar[$value]
$next_node = $value
}
}
}
解决方案
推荐阅读
- laravel - tymon/jwt-auth 包在 laravel 5.8 中显示错误
- java - 如何将 docker 容器连接到远程数据库?
- c - 尝试使用递归反向打印链表数据时出现分段错误
- google-maps - 如何使用谷歌地图获得特定地点的观点
- tinymce - tinymce 5 上 moxiemanager 允许的图像文件扩展名、doc 和 excel 文件扩展名以及视频文件扩展名是什么?
- sql - 如何修复运行缓慢的 SSIS 包
- sql-server - 从另一台服务器导入 sqlserver 数据库时如何修复“无效对象名称”错误?
- selenium-webdriver - 如何编写自动化脚本来检查 UI 更改?
- android - 无法从 JNI GetMethodId 函数中获取值
- c# - Automapper & Entity Framework 映射复杂关系建议