gpt4 book ai didi

fastcgi - FastCgi 是线程安全的吗?

转载 作者:行者123 更新时间:2023-12-04 15:48:18 26 4
gpt4 key购买 nike

我对 FastCGI 的工作原理有点困惑。我的程序真的只有一个实例在运行,还是有一些神奇的线程在运行?这很重要,因为如果我的数据结构的范围在主循环之外,我需要知道这些数据结构是否需要是线程安全的。

编辑:我的应用程序在 Perl 中,这是我的 apache2 配置:

<IfModule mod_fastcgi.c>
AddHandler fastcgi-script .fcgi .fcg
FastCgiServer /usr/lib/app/process.fcg -idle-timeout 60 -processes 1
</IfModule>

只是为了清楚我在问什么......对于这段代码:
use CGI::Fast qw/:standard/;

my %sharedHash;

while (new CGI::Fast) {
# do stuff with %sharedHash
}

“do stuff”部分是安全的还是某些“多线程魔法”正在发生,这可能意味着多个线程同时执行“do stuff”,从而破坏 %sharedHash ?

最佳答案

FastCGI 本身只是 Web 服务器和应用程序之间的接口(interface)。您的应用程序可以是多线程的(Java 几乎总是这种情况,通常在 Python 中),或者以异步、事件驱动的风格(Python 中的 Twisted、Node.js 等)编写。如果是前者,那么您需要确保对全局状态结构的访问是正确的线程同步的。

来自 the FastCGI whitepaper :
架构独立。 CGI 不依赖于任何特定的服务器架构(单线程、多线程等)。

关于fastcgi - FastCgi 是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5061789/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com