2012-12-12 21 views
36

जो मैं करना चाहता हूं वह किसी डेटाबेस से या memcache से असीमित रूप से लोड होता है।PHP थ्रेडिंग को एक php फ़ंक्शन को असीमित रूप से

मुझे पता है, मुझे पता है। "PHP थ्रेडिंग का समर्थन नहीं करता है"।

लेकिन register_tick_function के बारे में क्या? क्या वह वास्तव में थ्रेडिंग नहीं है?

क्या किसी ने किसी भी तरह का पूर्वानुमानित प्रीलोड किया है या वास्तव में register_tick_function का उपयोग करने वाली कोई पृष्ठभूमि प्रसंस्करण है?

+2

नहीं, एक टिक फ़ंक्शन पर सबकुछ _halts_। 'गियरमैन' कुछ काम को किसी अन्य प्रक्रिया में ऑफ़लोड करने का एक अच्छा तरीका है। या कुछ फोर्किंग किया जा सकता है, आप किसी वेबसर्वर में php का उपयोग नहीं कर रहे हैं लेकिन कमांड लाइन से। – Wrikken

+2

php थ्रेडिंग का समर्थन करता है, लेकिन मुझे नहीं लगता कि आपको अपनी विशेष समस्या – Ibu

+0

@Wrikken के लिए इसकी आवश्यकता है, मैं समझता हूं कि बाकी सब कुछ टिक पर रोकता है। लेकिन एक एकल प्रोसेसर, एकल थ्रेडेड मशीन पर थ्रेडिंग के बारे में सोचें। इस तरह वे थ्रेडिंग को कार्यान्वित करते हैं। – Beachhouse

उत्तर

54

http://php.net/pthreads

http://docs.php.net/Thread

पीएचपी निश्चित रूप से सूत्रण समर्थन कर सकते हैं। समानांतर में SQL/NoSQL डेटाबेस से डेटा लोड करना निश्चित रूप से एक संभावना है। पीएचपी मैनुअल, जीथ्यूब और पीईसीएल पैकेज में मिले उदाहरण, और http://pthreads.org

पर कुछ और जानकारी देखें कृपया ध्यान दें कि दस्तावेज ने कहा है कि यह कोर का हिस्सा है, यह (मेरी) मानव त्रुटि है। आपको php के थ्रेड-सुरक्षित संस्करण के साथ pthreads स्थापित करना होगा, इसे pecl (windows incuded, dlls @http://windows.php.net/downloads/pecl/releases/pthreads) से स्थापित किया जा सकता है। क्षमा याचना।

+1

मुझे यकीन नहीं है कि यह डाउनलोड लिंक नवीनतम संस्करणों की ओर जाता है – Baba

+1

अपडेट किए गए लिंक, सिर के लिए धन्यवाद: डी –

+0

मुझे पता है कि यह पुराना है, लेकिन मुझे लगता है कि इस समय pthreads (3.1.6) केवल php 7.2 का समर्थन करता है + इसलिए आपको जेपीएस सक्षम फॉर्म के साथ php बनाने की आवश्यकता होगी, जो PHP से अधिक या 7.2 के बराबर है –

संबंधित मुद्दे