मुझे एक लाइब्रेरी फ़ंक्शन कॉल करने की आवश्यकता है जो दुर्भाग्य से किसी दिए गए समय के भीतर कभी-कभी समाप्त नहीं होगी। क्या फ़ंक्शन को कॉल करने का कोई तरीका है लेकिन अगर इसे n
सेकेंड के भीतर समाप्त नहीं किया जाता है तो इसे निरस्त करें?सी ++: मनमानी फ़ंक्शन कॉल के लिए टाइमआउट कैसे कार्यान्वित करें?
मैं फ़ंक्शन को संशोधित नहीं कर सकता, इसलिए मैं इसे निरस्त स्थिति में सीधे नहीं डाल सकता। मुझे को फ़ंक्शन में टाइमआउट जोड़ें।
क्या यह संभवतः एक (बूस्ट) थ्रेड के रूप में शुरू करने का एक संभावित समाधान है, जिसे मैं निश्चित समय के बाद समाप्त कर सकता हूं? क्या ऐसा कुछ काम करेगा? मुझे वास्तव में विश्वास है कि फ़ंक्शन थ्रेड-सुरक्षित नहीं है, लेकिन इससे कोई फर्क नहीं पड़ता कि मैं इसे केवल सिंगल थ्रेड के रूप में चलाता हूं, है ना? क्या अन्य (बेहतर) समाधान हैं?
लाइब्रेरी फ़ंक्शन क्या करता है? – peterchen
उह, कुछ गणना करें ... एक वैज्ञानिक गणना जो वास्तव में कुछ शर्तों के तहत समाप्त नहीं होगी। – Frank