google nativeclient - Calling asynchronous PPAPI functions from a ppapi_simple program -
मेरे पास ppapi_simple का उपयोग करते हुए एक NaCl सी प्रोग्राम है मुझे एसिंक्रोनस पीपीएपीआई फ़ंक्शंस जैसे कॉल करने की आवश्यकता है।
जब मैंने इसे निष्क्रिय रूप से कार्यान्वित करने की कोशिश की, तो मैं अपडेटनेटवर्कलाइस्ट () को पास कॉलबैक कभी नहीं बुलाया। Ppapi_simple सोर्स कोड को देखते हुए, मैंने पाया कि ppapi_simple अपने आंतरिक संदेश लूप पर कभी कॉल नहीं करता है, जो शायद बताते हैं कि क्यों मेरे कॉलबैक कभी नहीं कहा जाता है।
ppapi_simple प्रोग्राम में एसिंक्रोनस PPAPI फ़ंक्शन का उपयोग करने का सही तरीका क्या है ? क्या मुझे अपना धागा और संदेश पाश बनाना चाहिए?
संपादित करें: संदेश लूप के दस्तावेज के अनुसार, केवल एक थ्रेड पर PPAPI कॉल करने के लिए आवश्यक है। इसलिए मैं CallOnMainThread () का उपयोग करके मुख्य थ्रेड पर UpdateNetworkList () को कॉल करने की कोशिश की और यह काम करता है - मेरे कॉलबैक को कहा जाता है। सुनिश्चित नहीं है कि यह सबसे अच्छा समाधान है।
ppapi_simple
मुख्य थ्रेड, और मानता है कि उपयोगकर्ता ब्लॉकिंग PPAPI कॉल का उपयोग कर रहा है। यह पोर्टिंग कोड सरल बनाता है मामले में जहां आपको कॉलबैक चाहिए, आपको पहले से ही दो समाधान मिले हैं:
- फ़ंक्शन को मुख्य थ्रेड पर कॉल करें (जो एक निहित संदेश लूप चलाता है)
- प्रारंभ करें एक नया धागा, एक संदेश लूप चलाएं, और अपने कार्य को कॉल करने के लिए उस संदेश लूप पर कार्य पोस्ट करें।
जब तक आप कॉलबैक में बहुत काम नहीं कर रहे हैं, तो मैं कहते हैं कि मुख्य थ्रेड पर कॉल करना आसान है। मुख्य थ्रेड पर बहुत काम करने की चिंता यह है कि यह आपके पृष्ठ को प्रतिसाद नहीं दे सकता है।
Comments
Post a Comment