Я немного озадачен тем, как работает 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
?