1

当 Apache Web 服务器处理一个 http 请求时,它通常会派生一个新进程,除非使用的是 fastcgi 之类的东西。

我的问题与使用 fastcgi 时的“同时请求”有关。

如果我正在使用 fastcgi 并且我在主内存中有一个树状数据结构,我是否需要担心对树的并发读/写访问?

或者我可以仅仅依靠请求按到达顺序处理的事实。

如果一个请求试图访问磁盘并且它被阻塞了怎么办?其他请求是否已处理或是否在队列中等待?

如果我不使用 fastcgi,事情似乎更清楚,因为我必须从数据库重新加载树数据结构来操作它,然后将其写回数据库 - 不需要并发。

本质上,我是否需要担心使用 Apache 对我的主内存数据结构进行多次读取/写入?

提前致谢。

4

1 回答 1

0

当 Apache Web 服务器处理 http 请求时,它通常会创建一个新进程

不,通常预分叉进程之一接受连接并执行它。没有按请求分叉

如果你的 FastCGI 应用程序是单线程的,你不应该担心并发性,如果你在 mod-prefork 中运行也是如此。但是如果你在共享内存中管理你的数据结构,你应该担心并发性。

于 2009-06-20T17:29:11.303 回答