क्या कोई मुझे बता सकता है कि boost::signals
स्लॉट सिंक्रनाइज़ या असीमित रूप से बुलाए गए हैं?बढ़ावा हैं :: सिग्नल स्लॉट सिंक्रनाइज़ या असीमित रूप से बुलाया जाता है?
उदाहरण के लिए मैं कोड के इस टुकड़े है:
struct Hello
{
void operator()() const
{
std::cout << "Hello ";
}
};
struct World
{
void operator()() const
{
std::cout << " world!" << std::endl;
}
};
boost::signal<void()> sig;
sig.connect(Hello());
sig.connect(World());
sig();
cout << "Foo";
कैसे निष्पादन धागा काम करता है? क्या निष्पादन Hello()
और World()
निष्पादित करने के लिए प्रतीक्षा करता है और उसके बाद "Foo"
मुद्रित किया जाता है या फिर यह उन्हें असीमित रूप से कॉल करता है (प्रिंटिंग "फू" और Hello()
और World()
को एक अपरिभाषित क्रम में निष्पादित करता है)?
यहां दस्तावेज़ अन्यथा इंगित करते हैं: http://www.boost.org/doc/libs/1_54_0/doc/html/signals2/tutorial.html#idp164798944 – sje397
आप सही हैं। मुझे विश्वास था कि आदेश निर्दिष्ट नहीं किया गया था, लेकिन दस्तावेज का वह हिस्सा पिछले चार या पांच रिलीज में नहीं बदला है। मैंने अपना जवाब सही किया। –