求教PHP是如何处理多任务并发的?

发布于 2022-08-26 13:10:34 字数 229 浏览 13 评论 2

写一个Web程序,但是对PHP多任务并发的机制很不解,网上也没有找到什么很好的资料,所以很困惑,在这里请教一下。

譬如说我想处理用户登录这么一个简单的业务,我想要用面向对象的方法写一个静态类,让它的方法实现到数据库里查询某个ID的用户的信息,那么这个类在多个人同时登录会发生什么情况,会不会可能因为并发而把一个人的信息传到另一个人那里?如果会的话有没有什么办法为它添加一个线程锁那样的东西来处理此类事件?在不考虑数据库的锁的情况下。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

久伴你 2022-08-27 12:20:27

这个是php所在的web服务器的事情(apache),他会保障这些东西,所以你无须担心,我刚开始写程序的时候也担心为什么两个人可以同时登陆呢?一个人难道不会覆盖另外一个人的数据?后来才知道其实apache本身就能帮你搞定。

蓝梦月影 2022-08-27 11:48:57

这个问题你在php里完全不用担心,因为php是一种无状态的脚本语言,也就是说你在内存里创建的所有变量在一次请求完成后就会被完全销毁。

并发请求之间的内存是完全隔离的,大多数情况下你可以完全用单并发的情况来考虑多并发的问题。

php里面没有真正的静态类这个概念,因为你创建的所有东西在请求结束之后都将消失干净。实际上如果你能让并发程序读取到一块内存里东西,那才算是出bug了呢。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文