2011-11-27 20 views
0

如果我创建一个单例类,那么只能创建该类的一个对象,现在如果两个请求试图实例化相同的类,PHP是一个无共享架构,所以它不能为这两个请求创建单个对象,所以将它在服务另一个请求之前是否等待完成一个请求,或者它将同时为另一个请求创建单独的实例?Singleon如何在PHP中处理多个请求?

+1

请参阅:http://stackoverflow.com/questions/4595964/who-needs-singletons/4596323#4596323 – nickb

回答

3

每个请求都会启动一个单独的PHP实例,当脚本运行完毕后,它就会被拆除,所有东西都会被丢弃。这通常发生在几分之一秒内。一个“单例”只意味着每个实例/脚本的运行只会创建一个实例。可以有许多并行的脚本,每个脚本都有自己的单例实例。单身是一个逻辑概念,不是任何事物强加的硬性限制。

+0

你的意思是,虽然多个请求可以在同一时间由服务器提供,但对于同样的多个请求脚本将创建多个单例类的实例,对吗?请告诉我,如果我没有让你正确 – Tarun

+0

是的,一个单例实例*每个*脚本实例。 – deceze

+0

感谢deceze,所以你:) – Tarun