簡體   English   中英

PHP擴展上的pthread

[英]pthread on PHP extension

我實際上開發了一個PHP擴展( PHP 5.6 )(此擴展將僅在Linux服務器上使用),在此擴展中,我想使用C pthread

是否可以制作一個使用pthreadPHP擴展,而不必使用ZTS選項編譯PHP

因為有一個擴展名,可以將pthreadphp一起使用,但是此擴展名要求使用zts選項編譯php pthreads要求

啟用ZTS模式的情況下,可以在PHP擴展中使用線程,但是線程不得與任何內部函數(包括PHP代碼本身)進行交互。 這是因為(未啟用)沒有啟用ZTS模式,沒有什么是線程安全的,並且Zend Engine(ZE)中有很多全局狀態。 因此,在這種情況下,您對線程的處理能力非常有限。

如果確實啟用ZTS模式,則線程可以與任何內部函數和PHP代碼進行交互,但是必須采用無共享架構。 這是因為ZE的某些部分仍然不是線程安全的-最值得注意的是Zend Memory Manager(ZMM)。 這意味着必須為每個線程制作一個單獨的PHP解釋器副本(將其包裝成自己的ZMM),並將所有函數,類,接口,特征等復制到此新的解釋器實例中以執行其中的操作。完全獨立的上下文。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM