您现在的位置:首页 --> 查看专题: TSRM
在阅读PHP源码和学习PHP扩展开发的过程中,我接触到大量含有“TSRM”字眼的宏。通过查阅资料,知道这些宏与Zend的线程安全机制有关,而绝大多数资料中都建议按照既定规则使用这些宏就可以,而没有说明这些宏的具体作用。不知道怎么回事总是令人不舒服的,因此我通过阅读源码和查阅有限的资料简要了解一下相关机制,本文是我对研究内容的总结。 本文首先解释了线程安全的概念及PHP中线程安全的背景,然后详细研究了PHP的线程安全机制ZTS(Zend Thread Safety)及具体的实现TSRM,研究内容包括相关数据结构、实现细节及运行机制,最后研究了Zend对于单线程和多线程环境的选择性编译问题。 线程安全 线程安全问题,一言以蔽之就是多线程环境下如何安全存取公共资源。我们知道,每个线程只拥有一个私有栈,共享所属进程的堆。
在阅读PHP源码和学习PHP扩展开发的过程中,我接触到大量含有“TSRM”字眼的宏。通过查阅资料,知道这些宏与Zend的线程安全机制有关,而绝大多数资料中都建议按照既定规则使用这些宏就可以,而没有说明这些宏的具体作用。不知道怎么回事总是令人不舒服的,因此我通过阅读源码和查阅有限的资料简要了解一下相关机制,本文是我对研究内容的总结。 本文首先解释了线程安全的概念及PHP中线程安全的背景,然后详细研究了PHP的...
[ 共2篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
-
[1195] WordPress插件开发 -- 在插件使用 -
[97] 解决 nginx 反向代理网页首尾出现神秘字 -
[42] web开发设计人员不可不用的在线web工具和 -
[29] Rax 系列教程(长列表) -
[28] 如何建立合适的索引? -
[28] 手机产品设计方向 -
[27] 程序员疫苗:代码注入 -
[25] 一句话crontab实现防ssh暴力破解 -
[23] oracle技术方面的路线 -
[22] Spark性能优化——和shuffle搏斗
赞助商广告



