Я немного не понимаю, как работает 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
}
Безопасна ли часть "делать что-то" или это какая-то "мульти -threading magic », что может означать, что более одного потока выполняют« делать что-то »одновременно, тем самым разрушая % sharedHash
?