PHP程序体系结构设计
我有一个web应用程序,用户可以在其中上载文本文件。应用程序读取文本文件,并根据文件数据执行30个不同的任务,并在几秒钟后向用户显示输出 我的方法是编写一个php程序,它将获取文本文件,然后调用不同的脚本(php和unix脚本)来执行30个不同的任务 我有两个问题:PHP程序体系结构设计,php,multithreading,architecture,Php,Multithreading,Architecture,我有一个web应用程序,用户可以在其中上载文本文件。应用程序读取文本文件,并根据文件数据执行30个不同的任务,并在几秒钟后向用户显示输出 我的方法是编写一个php程序,它将获取文本文件,然后调用不同的脚本(php和unix脚本)来执行30个不同的任务 我有两个问题: 我可以并行运行30个不同的脚本以节省总体执行时间吗?如果是,那么我应该在php中使用pthread库来实现多线程吗?我在一篇文章中读到,多线程在web应用程序中无助于节省执行时间。这篇文章说,虽然所有线程都将并行运行,但它将花费相同
使用多个线程可能会提高总体执行时间的速度,但也可能会使您试图实现的目标变得更加复杂,因此通常应该避免使用,除非速度的提高确实值得 此外,如果这是由加载网页的人触发的(我怀疑),那么使用线程几乎肯定是一个糟糕的计划。对此进行了更详细的讨论。如果它是从命令行触发的,例如:
php processTextFile.php
然后,它可能会对你有利
至于在这个特殊的情况下,它是否会加快你的处理速度,这将取决于你到底在做什么
从你如何描述你的问题,你可以尝试做两件事:
- 您可以并行运行30个脚本。您将倾向于只在具有多个处理器或多个内核的机箱上看到性能的提高,因为这将允许计算机同时使用这两个处理器或内核
- 您可以使用pthread来实现这一点(95%确定,支持该视图)
- 要了解如何实际使用它,您可能需要查看实现的GitHub项目的示例
php processTextFile.php
然后,它可能会对你有利
至于在这个特殊的情况下,它是否会加快你的处理速度,这将取决于你到底在做什么
从你如何描述你的问题,你可以尝试做两件事:
- 您可以并行运行30个脚本。您将倾向于只在具有多个处理器或多个内核的机箱上看到性能的提高,因为这将允许计算机同时使用这两个处理器或内核
- 您可以使用pthread来实现这一点(95%确定,支持该视图)
- 要了解如何实际使用它,您可能需要查看实现的GitHub项目的示例